All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog.
- Definition of the
icons
property ofAppMetadata
, based on PWA icon spec (#319) - Added support for raiseIntent without a context via the addition of the
fdc3.nothing
context type (#375) - Added FDC3 Workbench, an FDC3 API developer application (#457)
- Added advice on how to
broadcast
complex context types, composed of other types, so that other apps can listen for both the complex type and simpler constituent types (#464) - Added the ability to return data from an intent, via the addition of an IntentHandler type and a
getResult()
to IntentResolution, both of which return a Promise of a Context object. (#495) - Added a field to specify the Context type that intent can return to the AppD Application schema and extended the findIntent API calls to be able to use it for resolution. (#499)
- Added the ability to return a Channel from an intent (via the
IntentResult
type), resolver support for intents that return Channels and the concept of PrivateChannels. (#508) - Added error
UserCancelled
to theResolveError
enumeration to be used when user closes the resolver UI or otherwise cancels resolution of a raised intent (#522 ) - Added an
instanceId
(and optionalinstanceMetadata
) field toAppMetadata
allowing it to refer to specific app instances and thereby supporting targetting of intents to specific app instances. Also added afindInstances()
function to the desktop agent andTargetAppUnavailable
andTargetInstanceUnavailable
Errors to theResolveError
enumeration. (#509 - Added a References and Bibliography section to the Standard's documentation to hold links to 'normative references' and other documentation that is useful for understanding the standard (#530)
IntentResolution
now requires the name of the intent raised to included, allowing it to be used to determine the intent raised viafdc3.raiseIntentForContext()
. (#507)- A Trademarks page was added to acknowledge trademarks used within the Standard not owned by FINOS or the Linux Foundation (#534)
- Added details of FDC3's existing versioning and deprecation policies to the FDC3 compliance page (#539)
- Add
IntentDeliveryFailed
to theResolveError
enumeration to be used when delivery of an intent and context to a targetted app or instance fails. (#601)
- Consolidated
Listener
documentation with other types (#404) - Updated definition of the
Position
context type to support negative (short) positions (#419) - Upgraded web access statements from SHOULD to MUST in the API specification (#440)
- Updated copyright notices (#467)
- Adjusted wording in API spec and documentation to acknowledge the possibility of methods of intent resolution other than a resolver UI (#461)
- Replaced 'System channels' with 'User channels' throughout the spec, documentation, API and methods.ts. Clarified spec and documentation where it is referring to User channels vs. App channels. Added support to methods.ts for automatic fallback to
getSystemChannels
ifgetUserChannels
doesn't exist. (#470) - Moved the Icon type definition into the Types documentation page for consistency with other types. (#493
- The
fdc3.joinChannel()
,fdc3.getCurrentChannel()
andfdc3.leaveCurrentChannel()
functions have been made optional for FDC3 API compliance, but are recommended through the application of the SHOULD keyword. (#512) - All DesktopAgent and Channel API functions are now async for consistency, changing the return type of the
broadcast
,addIntentListener
,addContextListener
andgetInfo
functions (#516)
- Removed details of the 'global' channel that was deprecated in FDC3 1.2. (#496)
- Removed trailing slashes from schema references (which break refs for schema parsers) (#374)
- Corrected that definition of the
Context
type in documentation (#406]) - Corrected syntax errors in context schema examples (#424)
- Corrected a minor error in the ViewQuote Intent example (#439)
- Clarified behavior of
fdc3.addContextListener
when not joined to a channel (#449) - Clarified existing behavior of
joinChannel
andaddIntentListener
when joining a channel (#454) - Clarified numerous aspects of the existing
raiseIntent
behavior in the spec and documentation (#461) - Updated Methods.ts to support the updated signature for
addContextListener
introduced in FDC3 1.2 (#462) - Clarified the description of the addContextListener functions from the Desktop Agent and Channel APIs in spec and docs. (#492)
- Clarified that implementing
fdc3.getInfo()
is required for compliance with the FDC3 standard (#515)
npm v1.2.0 - 2021-04-19
- ES6 functions for
getInfo()
andraiseIntentForContext()
(#268, #324) fdc3Ready()
utility function that wraps checks for the window.fdc3 global object and newfdc3Ready
event (#360)compareVersionNumbers()
andversionIsAtLeast()
utility functions to complementgetInfo()
(#324)- An example application definition (#437
- A test environment for the app directory specification and the example application definition (#437
addContextListener(contextType, handler)
now supports passingnull
as the context type (#329)- All other API type changes and additions from the FDC3 Standard 1.2 release
- The Application schema by removing the
manifestType
andmanifest
properties, introducing newtype
(required),details
andhostManifests
properties (#437
FDC3 Standard 1.2 - 2021-04-19
- New
raiseIntentForContext()
method (#268) - New
fdc3Ready
event (#269) - New
getInfo()
method that returns implementation metadata (#324)
fdc3.open()
andfdc3.raiseIntent()
now takesTargetApp
, which resolves tostring | AppMetadata
(#272)AppMetadata
return type can now optionally includeappId
andversion
(#273)addContextListener(contextType, handler)
now supports passingnull
as the context type (#329)- Simplify API reference documentation and add info about supported platforms, including npm package (#349)
- Return type of
getCurrentChannel()
should bePromise<Channel | null>
(#282) leaveCurrentChannel()
is missing fromDesktopAgent
interface (#283)
npm v1.1.1 - 2021-04-15
Intents
enum should containStartChat
notStartChart
(#364)
- Return type of
getCurrentChannel()
should bePromise<Channel | null>
(#282) - Missing
leaveCurrentChannel()
export (#283)
npm v1.1.0 - 2021-04-14
- Build an npm package with exported TypeScript typings for API, Context Data and
window.fdc3
global (#252) - Export helper enums for names of standardised
Intents
andContextTypes
(#264) - Export API operations as ES6 functions that can be directly imported (#266)
- Check for the existence of
window.fdc3
in ES6 functions, and reject or throw if not defined (#356)
- Return type of
getCurrentChannel()
should bePromise<Channel>
(#222)
FDC3 Standard 1.1 - 2020-04-09
- JSON Schema definitions for agreed context types (#119):
fdc3.context
fdc3.instrument
fdc3.instrumentList
fdc3.contact
fdc3.contactList
fdc3.organization
fdc3.country
fdc3.position
fdc3.portfolio
- API entry point for web -
window.fdc3
(#139) - Use Case 17 (#153)
- Channels API (#154):
fdc3.getSystemChannels
fdc3.getOrCreateChannel
fdc3.joinChannel
fdc3.leaveCurrentChannel
fdc3.getCurrentChannel
Channel
interfaceDisplayMetadata
interfaceChannelError
type
- Type filtering support for
getCurrentContext
(#161) - Publish versioned JSON schemas to FDC3 website (#170)
- Intent Reference and Context Data Reference documentation (#172)
- Remove FactSet-specific examples from docs (#88)
- Apply FINOS branding, styles and logos to the website (#96)
- Include ChartIQ in "Who is using FDC3?" section on website (#100)
- Expand
AppMetadata
interface with more application properties (#157) - Restructure some docs (#190)
- Several typos and broken links in docs
- Various security vulnerabilities
FDC3 Standard 1.0 - 2019-03-28
- Documentation website (generated with Docusaurus) and content from old separate FDC3 repos (#5):
- Use Case 15 (#49)
- FDC3 Roadmap (#55)
- FDC3 feature icons on website landing page (#57)
- Participant showcase on website landing page (#67)