SAL 3.0 Upgrade Guide
Atlassian Scheduler replaces PluginScheduler
com.atlassian.sal.api.scheduling) are deprecated - clients should use the new Atlassian Scheduler library, as documented here.
In addition to onStart(), LifecycleAware interface gets a symmetric onStop() method to notify plugins they are being stopped. It's a good place to do tasks just before plugin is disabled when all it's dependencies are still present.
The method is called when:
- plugin is being disabled
- plugin framework is shutting down
There is no need to recompile all plugins for the updated interface; onStop() call is made in a way that tolerates plugins compiled against the old interface. However, plugins that compile against the updated interface will need to implement it.
Atlassian annotations imported
Annotations from atlassian-annotations library are not packaged with sal-api and needs to be provided in run time.
Request interface changed
Trusted apps functionality moved to a standalone library
com.atlassian.sal.api.net.Request functionality moved into
TrustedRequest authentication methods get
Authentication methods listed below get
setRequestBody(String requestBody, String contentType) instead
Plugin developers may retrieve a java.sql.Connection from the application and execute DML, albeit with some limitations.
See TransactionalExecutor for an documentation and example.
See https://bitbucket.org/acourtis/rdbms-plugin-examples for some Hibernate and QueryDSL samples.