Skip to content

Releases: microsoft/project-rome

September 2018 Preview Release (v0.13.7)

25 Sep 17:10
Compare
Choose a tag to compare

Welcome to the September 2018 preview release of the Project Rome SDK for Android and iOS.

We are actively working toward the release of the Project Rome v1 release. To date, we have been releasing only minor releases, in preview-mode. As a result, the 'master' branch is the active dev branch where APIs are changing and the samples may not work. Check out the sections below to learn more.

Release Highlights (What's New)

In this month's release, we are adding a brand-new feature, Notifications, that enables your app to notify your users in a more human-centric way.

For more detail, be sure to check out the updated API reference docs and the 'getting started' for Android and iOS.

User-Centric Notifications

You can use the notifications API in Microsoft Graph to send notifications to a user from your app’s server, and the notification will be delivered to all devices where the user is using your app. The centralized notification store and unified Microsoft Graph REST API allow you to focus on designing a great user-centric notification experience, rather than worrying about device-specific and platform-specific notification protocols. The latest update of Project Rome SDK helps you complete that experience by providing new APIs to register, receive, manage, and access notifications client side. This way, scenarios like universal notification dismissal across devices or accessing notification history, can be made easy.

Sample Changes

You'll find new Notification samples for Android, iOS, and Windows. Be sure to sync to the latest git tag, for a given release, to ensure the samples work properly.

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’.

July 2018 Preview Release (v0.13.0)

06 Aug 23:37
Compare
Choose a tag to compare
Pre-release

Welcome to the July 2018 preview release of the Project Rome SDK for Android and iOS.

We are actively working toward the release of the Project Rome v1 release. To date, we have been releasing only minor releases, in preview-mode. As a result, many APIs have changed, including some breaking changes. Check out the 'Release Highlights' section below to learn more.

Release Highlights (What's New)

We've been busy making changes to the Device Relay and the Activity Feed APIs, most of which are centered around Activity Feed, as you'll see below.

For more detail, be sure to check out the updated API reference docs and the 'getting started' for Android and iOS.

Device Relay

  • AppServiceProvider/MCDAppServiceProvider
    • Updated onConnectionOpened/connectionDidOpen to take a new event args class, AppServiceConnectionOpenedEventArgs/MCDAppServiceConnectionOpenedEventArgs.

Activity Feed

  • UserActivitySession/MCDUserActivitySession
    • Added AutoCloseable implementation. On closing, the session will be stopped.
    • Added stop method: used to stop the session. The engagement period of a UserActivity is the time from creation of the UserActivitySession to when stop is called.
  • UserActivity/MCDUserActivity
    • Updated constructor/initWithActivityId to create an activity with a specified ID.
    • Renamed setContentInfo/getContentInfo to setContentInfoJson/getContentInfoJson and now takes/returns a JSON string instead of a UserActivityContentInfo object.
    • Added setIsRomable/getIsRoamable - used to determine whether the activities are local (false) or will be pushed to the service endpoint (true).
  • UserActivityAttribution/MCDUserActivityAttribution
    • Added two constructors/initWithIconUri - one without parameters and one that takes a URI String.
    • Renamed setContent to setAdaptiveCardJson and returns an Adaptive Card JSON string.
  • UserActivityVisualElements/MCDUserActivityVisualElements
    • Added setBackgroundColor/getBackgroundColor - used to set/get the background color for the activity visual.
  • SyncScope/MCDSyncScope
    • Renamed to UserDataFeedSyncScope/MCDUserDataFeedSyncScope.
      The following classes have been updated to reference UserDataFeedSyncScope:
      • UserActivityChannel/MCDUserActivityChannel
      • UserActivityChannelSyncScope/MCDUserACtivityChannelSyncScope
      • UserDataSyncStatus/MCDUserDataSyncStatus - renamed to UserDataFeedSyncStatus/MCDUserDataFeedSyncStatus.
      • UserDataFeed/MCDUserDataFeed

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’.

June 2018 Preview Release (v0.12.0)

28 Jun 05:55
Compare
Choose a tag to compare
Pre-release

Welcome to the June 2018 preview release of the Project Rome SDK for Android and iOS.

We are actively working toward the release of the Project Rome v1 release. To date, we have been releasing only minor releases, in preview-mode. As a result, many APIs have changed, including some breaking changes. Check out the 'Release Highlights' section below to learn more.

Release Highlights (What's New)

You will notice several updates available in this milestone, namely around platform registration.

For more detail, be sure to check out the updated API reference docs and the 'getting started' for Android and iOS.

Platform Registration Redesign

In this release, we've rearchitected how you register with the platform. The following is the list of new and breaking changes related to registration.

Platform Initialization

  • Platform / MCDPlatform - in order to create a new instance using a valid UserAccountProvider and NotificationProvider, or call getPlatform() if it's already created.

Device Relay

  • RemoteSystemApplicationRegistrationBuilder / MCDRemoteSystemApplicationRegistrationBuilder - this builder takes an app attribute, AppService Provider, and LauchUri Provider which generates the RemoteSystemApplicationRegistration object.
  • RemoteSystemApplicationRegistration / MCDRemoteSystemApplicationRegistration - to begin the registration process, call start() on the registered application, to register with device graph.

Activity Feed

  • UserDataFeed / MCDUserDataFeed - this class is used to register with the Activity service, using the user defined, SyncScope / MCDSyncScope, passed to addSyncScopes() to maintain an updated list of registered activities.
  • UserActivityChannel / MCDUserActivityChannel - once the userDataFeed object is created, the UserActivityChannel is created to handle the adding and querying of user activities for the application.
  • CloudRegistrationStatus / MCDCloudRegistrationStatus - this listener type is used to track when updates for registration change.

RemoteSystem Enhancements

  • RemoteSystemLocalVisibilityKind / MCDRemoteSystemLocalVisibilityKind - allows for the local app to be returned as a part of discovery.
  • RemoteSystemLocalVisibilityKindFilter / MCDRemoteSystemLocalVisibilityKindFilter - following the same filter pattern, this filter corresponds to the RemoteSystemLocalVisibilityKind enum.
  • RemoteSystemConnectionInfo / MCDRemoteSystemConnectionInfo - provides info about a connection to a remote system (currently just whether the connection is proximal).

Android Nearby Share Changes

  • NearShareDataFile - renamed to NearShareFileProvider
  • NearShareProgress - updated constructor signature
  • NearShareSender - methods updates
  • NearShareDataStream - renamed to NearShareStream

New Supported Architectures / Versions

We now support the following:

Android

  • armeabi-v7a, arm64-v8a, x86, x86_64
  • Minimum Android SDK: API level 19 (Android 4.4)
  • Compile Android SDK: API level 27 (Android 8.1)
  • Android NDK: Revision r16b

iOS

  • iOS 8 - iOS 11
  • Bitcode is not currently supported

Sample Changes

  • Authentication - the sample app provider has been updated to include an optional parameter, for MSA scopes, called msaScopeOverrides.

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’.

Microsoft Build 2018 Preview Release (version 0.11.0)

07 May 19:18
Compare
Choose a tag to compare

Microsoft Build 2018 Preview Release (version 0.11.0)

Welcome to the latest release of the Project Rome SDK for Android and iOS. There are a number of significant updates in this version. We’ve re-designed the APIs to improve usability for both our existing features and new features like Hosting, Activities, and Near Share. Our hope is that you find the usage of the APIs intuitive, flexible, and powerful.

We mentioned there are some new features, but what has stayed the same? You’ll find the same powerful functionality as before, with some changes in the API usage.

Remote Systems – An app-based model allows a RemoteSystem (device) to discover multiple RemoteSystemApplications (apps) on an individual device. Now you can get device information and target a particular application using the Project Rome SDK.
App Services – Create app service connections to send messages between apps running on different devices.
Remote Launch – Transfer experiences between your devices using the RemoteLauncher APIs.

Release Highlights (What's New):

Host Support

In this release we now support the Remote System, App Service, and Remote Launch APIs, from Windows/Android/iOS client devices to Android and iOS hosts, in addition to Windows hosts. We generally refer to this as “host support.” Host support refers to the device or app that receives the command. So for example, the Windows devices can discover an Android device and communicate with it via an app service connection, or launch a URI on Android from Windows. To implement hosting, you will be required to onboard your app with the Windows Dev Center experience so the Project Rome platform can deliver notifications to Android and iOS on your behalf.

Authentication

We’ve also made the authentication story for the platform a bit more clear. The platform still requires an OAuth 2.0 access token for authentication. With the addition of the IUserProvider class, the developer can obtain an OAuth 2.0 access token, and pass it to a IUserAccountProvider that will be used to initialize the Project Rome platform. If obtaining your own OAuth 2.0 access token sounds less than ideal, fear not; we are providing the source code for a sample authentication provider that can be used in your app. The sample authentication provider can be used to obtain the access token and refresh the token as needed, with no extra work for you! Check out the Android and iOS samples to get the authentication provider source code.

UserActivities

Have you heard of Windows Timeline? If so, you are already familiar with the activities that appear in the Timeline. The UserActivities APIs allow you to create new activities, publish them in Windows Timeline, and sync activities between your apps running on different devices. Check out our documentation to learn more about how we link your apps from different platforms using a cross-platform application identifier.

Nearby Sharing

You can use the Nearby Sharing APIs to send files and URIs between Android and Windows devices. In order to use these APIs, you’ll start by using the familiar workflow of discovering devices. It’s important to filter on ‘RemoteSystemDiscoveryTypeFilter’ for ‘Spatially Proximal’ to detect any Bluetooth connections, and to filter for devices with the “anonymous” authorization kind. Then you’ll use the NearShareSender class to access all nearby sharing operations. This functionality is available on Windows 10 April 2018 Update and later and devices with Android 8.0 and later.

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’.

May Preview Release

02 May 03:25
0422568
Compare
Choose a tag to compare
May Preview Release Pre-release
Pre-release

May Preview Release (version 0.10.6)

Welcome to the May 2018 preview release of the Project Rome SDK. Since the last release the Project Rome team has been hard at work lighting up key scenarios across platforms and providing a more consistent programming experience across the various SDKs. To make all of this possible, many (breaking) changes to existing APIs were necessary. We hope you agree that the added functionality and consistency across platforms is well worth it. Some of the key highlights include:

  • Hosting support for iOS and Android app services and URI launch
  • Discovery of multiple applications on an iOS or Android device
  • Discoverable static attributes for each application
  • User Activities publish and read
  • NearShare from Android to Windows devices

Breaking Changes

APIs included with previous versions of the Project Rome SDK (releases 0.6.2, 0.7.3, 0.8.0 and 0.8.1) have likely been moved to a new package/name and have been slightly adjusted to better align across platforms.

Impact Summary

The old RemoteSystems, AppService, RemoteLauncher, Platform APIs will no longer compile with 0.10.6 and beyond.

Required Action

Please refer to the updated API documentation (Coming Soon) to understand what changes are needed to use the new versions of these APIs.

February Preview Release

01 May 18:48
ce17354
Compare
Choose a tag to compare
Pre-release

• Various bug fixes for both Android and iOS SDKs

November Preview Release

22 Nov 22:18
Compare
Choose a tag to compare
Pre-release

• Various bug fixes for both Android and iOS SDKs

October Preview Release

25 Oct 21:24
Compare
Choose a tag to compare
Pre-release

• Varies bug fixes for both Android and iOS SDKs
• Removal of WNS Client integration

August Preview Release

06 Sep 20:55
Compare
Choose a tag to compare
Pre-release

• Support for client-side app services from iOS to Windows.
• Android app services performance improvements, integration with WNS Client.
• Contains Android NDK 15.1.4119039 with libc++_shared.so dependency.
• Several types and APIs in the Android sdk and iOS sdk have been renamed.