CHANGELOG
=========
+5.3.0
+-----
+
+ * The bridge is not marked as `@experimental` anymore
+
5.2.0
-----
/**
* @author Karoly Gossler <connor@connor.hu>
- *
- * @experimental in 5.3
*/
final class DiscordOptions implements MessageOptionsInterface
{
/**
* @author Mathieu Piot <math.piot@gmail.com>
- *
- * @experimental in 5.3
*/
final class DiscordTransport extends AbstractTransport
{
/**
* @author Mathieu Piot <math.piot@gmail.com>
- *
- * @experimental in 5.3
*/
final class DiscordTransportFactory extends AbstractTransportFactory
{
/**
* @author Karoly Gossler <connor@connor.hu>
- *
- * @experimental in 5.3
*/
abstract class AbstractDiscordEmbed implements DiscordEmbedInterface
{
/**
* @author Karoly Gossler <connor@connor.hu>
- *
- * @experimental in 5.3
*/
abstract class AbstractDiscordEmbedObject implements DiscordEmbedObjectInterface
{
/**
* @author Karoly Gossler <connor@connor.hu>
- *
- * @experimental in 5.3
*/
final class DiscordAuthorEmbedObject extends AbstractDiscordEmbedObject
{
/**
* @author Karoly Gossler <connor@connor.hu>
- *
- * @experimental in 5.3
*/
final class DiscordEmbed extends AbstractDiscordEmbed
{
/**
* @author Karoly Gossler <connor@connor.hu>
- *
- * @experimental in 5.3
*/
interface DiscordEmbedObjectInterface
{
/**
* @author Karoly Gossler <connor@connor.hu>
- *
- * @experimental in 5.3
*/
final class DiscordFieldEmbedObject extends AbstractDiscordEmbedObject
{
/**
* @author Karoly Gossler <connor@connor.hu>
- *
- * @experimental in 5.3
*/
final class DiscordFooterEmbedObject extends AbstractDiscordEmbedObject
{
/**
* @author Karoly Gossler <connor@connor.hu>
- *
- * @experimental in 5.3
*/
class DiscordMediaEmbedObject extends AbstractDiscordEmbedObject
{
CHANGELOG
=========
+5.3.0
+-----
+
+ * The bridge is not marked as `@experimental` anymore
+
5.2.0
-----
use Symfony\Contracts\EventDispatcher\EventDispatcherInterface;
use Symfony\Contracts\HttpClient\HttpClientInterface;
-/**
- * @experimental in 5.3
- */
final class EsendexTransport extends AbstractTransport
{
protected const HOST = 'api.esendex.com';
use Symfony\Component\Notifier\Transport\Dsn;
use Symfony\Component\Notifier\Transport\TransportInterface;
-/**
- * @experimental in 5.3
- */
final class EsendexTransportFactory extends AbstractTransportFactory
{
/**
CHANGELOG
=========
+5.3.0
+-----
+
+ * The bridge is not marked as `@experimental` anymore
+
5.1.0
-----
* @author Jeroen Spee <https://github.com/Jeroeny>
*
* @see https://firebase.google.com/docs/cloud-messaging/xmpp-server-ref.html
- *
- * @experimental in 5.3
*/
abstract class FirebaseOptions implements MessageOptionsInterface
{
/**
* @author Jeroen Spee <https://github.com/Jeroeny>
- *
- * @experimental in 5.3
*/
final class FirebaseTransport extends AbstractTransport
{
/**
* @author Jeroen Spee <https://github.com/Jeroeny>
- *
- * @experimental in 5.3
*/
final class FirebaseTransportFactory extends AbstractTransportFactory
{
use Symfony\Component\Notifier\Bridge\Firebase\FirebaseOptions;
-/**
- * @experimental in 5.3
- */
final class AndroidNotification extends FirebaseOptions
{
public function channelId(string $channelId): self
use Symfony\Component\Notifier\Bridge\Firebase\FirebaseOptions;
-/**
- * @experimental in 5.3
- */
final class IOSNotification extends FirebaseOptions
{
public function sound(string $sound): self
use Symfony\Component\Notifier\Bridge\Firebase\FirebaseOptions;
-/**
- * @experimental in 5.3
- */
final class WebNotification extends FirebaseOptions
{
public function icon(string $icon): self
CHANGELOG
=========
+5.3.0
+-----
+
+ * The bridge is not marked as `@experimental` anymore
+
5.1.0
-----
/**
* @author Antoine Makdessi <amakdessi@me.com>
- *
- * @experimental in 5.3
*/
final class FreeMobileTransport extends AbstractTransport
{
/**
* @author Antoine Makdessi <amakdessi@me.com>
- *
- * @experimental in 5.3
*/
final class FreeMobileTransportFactory extends AbstractTransportFactory
{
CHANGELOG
=========
+5.3.0
+-----
+
+ * The bridge is not marked as `@experimental` anymore
+
5.2.0
-----
/**
* @author Jérôme Tamarelle <jerome@tamarelle.net>
- *
- * @experimental in 5.3
*/
final class GoogleChatOptions implements MessageOptionsInterface
{
/**
* @author Jérôme Tamarelle <jerome@tamarelle.net>
- *
- * @experimental in 5.3
*/
final class GoogleChatTransport extends AbstractTransport
{
/**
* @author Jérôme Tamarelle <jerome@tamarelle.net>
- *
- * @experimental in 5.3
*/
final class GoogleChatTransportFactory extends AbstractTransportFactory
{
CHANGELOG
=========
+5.3.0
+-----
+
+ * The bridge is not marked as `@experimental` anymore
+
5.2.0
-----
/**
* @author Fabien Potencier <fabien@symfony.com>
* @author Jérémy Romey <jeremy@free-agent.fr>
- *
- * @experimental in 5.3
*/
final class InfobipTransport extends AbstractTransport
{
/**
* @author Fabien Potencier <fabien@symfony.com>
* @author Jérémy Romey <jeremy@free-agent.fr>
- *
- * @experimental in 5.3
*/
final class InfobipTransportFactory extends AbstractTransportFactory
{
/**
* @author Oleksandr Barabolia <alexandrbarabolya@gmail.com>
- *
- * @experimental in 5.3
*/
final class IqsmsTransport extends AbstractTransport
{
/**
* @author Oleksandr Barabolia <alexandrbarabolya@gmail.com>
- *
- * @experimental in 5.3
*/
final class IqsmsTransportFactory extends AbstractTransportFactory
{
CHANGELOG
=========
+5.3.0
+-----
+
+ * The bridge is not marked as `@experimental` anymore
+
5.2.0
-----
/**
* @author Smaïne Milianni <smaine.milianni@gmail.com>
- *
- * @experimental in 5.3
*/
final class LinkedInOptions implements MessageOptionsInterface
{
/**
* @author Smaïne Milianni <smaine.milianni@gmail.com>
*
- * @experimental in 5.3
- *
* @see https://docs.microsoft.com/en-us/linkedin/marketing/integrations/community-management/shares/ugc-post-api#sharecontent
*/
final class LinkedInTransport extends AbstractTransport
/**
* @author Smaïne Milianni <smaine.milianni@gmail.com>
- *
- * @experimental in 5.3
*/
class LinkedInTransportFactory extends AbstractTransportFactory
{
/**
* @author Smaïne Milianni <smaine.milianni@gmail.com>
- *
- * @experimental in 5.3
*/
abstract class AbstractLinkedInShare
{
/**
* @author Smaïne Milianni <smaine.milianni@gmail.com>
- *
- * @experimental in 5.3
*/
final class AuthorShare extends AbstractLinkedInShare
{
* @author Smaïne Milianni <smaine.milianni@gmail.com>
*
* @see https://docs.microsoft.com/en-us/linkedin/marketing/integrations/community-management/shares/ugc-post-api#schema lifecycleState section
- *
- * @experimental in 5.3
*/
final class LifecycleStateShare extends AbstractLinkedInShare
{
* @author Smaïne Milianni <smaine.milianni@gmail.com>
*
* @see https://docs.microsoft.com/en-us/linkedin/marketing/integrations/community-management/shares/ugc-post-api#sharecontent
- *
- * @experimental in 5.3
*/
final class ShareContentShare extends AbstractLinkedInShare
{
* @author Smaïne Milianni <smaine.milianni@gmail.com>
*
* @see https://docs.microsoft.com/en-us/linkedin/marketing/integrations/community-management/shares/ugc-post-api#sharemedia
- *
- * @experimental in 5.3
*/
class ShareMediaShare extends AbstractLinkedInShare
{
/**
* @author Smaïne Milianni <smaine.milianni@gmail.com>
- *
- * @experimental in 5.3
*/
final class VisibilityShare extends AbstractLinkedInShare
{
CHANGELOG
=========
+5.3.0
+-----
+
+ * The bridge is not marked as `@experimental` anymore
+
5.1.0
-----
/**
* @author Emanuele Panzeri <thepanz@gmail.com>
- *
- * @experimental in 5.3
*/
final class MattermostTransport extends AbstractTransport
{
/**
* @author Emanuele Panzeri <thepanz@gmail.com>
- *
- * @experimental in 5.3
*/
final class MattermostTransportFactory extends AbstractTransportFactory
{
CHANGELOG
=========
+5.3.0
+-----
+
+ * The bridge is not marked as `@experimental` anymore
+
5.2.0
-----
/**
* @author Bastien Durand <bdurand-dev@outlook.com>
- *
- * @experimental in 5.3
*/
final class MobytOptions implements MessageOptionsInterface
{
/**
* @author Basien Durand <bdurand-dev@outlook.com>
- *
- * @experimental in 5.3
*/
final class MobytTransport extends AbstractTransport
{
/**
* @author Bastien Durand <bdurand-dev@outlook.com>
- *
- * @experimental in 5.3
*/
final class MobytTransportFactory extends AbstractTransportFactory
{
CHANGELOG
=========
+5.3.0
+-----
+
+ * The bridge is not marked as `@experimental` anymore
+
5.0.0
-----
/**
* @author Fabien Potencier <fabien@symfony.com>
- *
- * @experimental in 5.3
*/
final class NexmoTransport extends AbstractTransport
{
/**
* @author Fabien Potencier <fabien@symfony.com>
- *
- * @experimental in 5.3
*/
final class NexmoTransportFactory extends AbstractTransportFactory
{
CHANGELOG
=========
+5.3.0
+-----
+
+ * The bridge is not marked as `@experimental` anymore
+
5.1.0
-----
/**
* @author Thomas Ferney <thomas.ferney@gmail.com>
- *
- * @experimental in 5.3
*/
final class OvhCloudTransport extends AbstractTransport
{
/**
* @author Thomas Ferney <thomas.ferney@gmail.com>
- *
- * @experimental in 5.3
*/
final class OvhCloudTransportFactory extends AbstractTransportFactory
{
CHANGELOG
=========
+5.3.0
+-----
+
+ * The bridge is not marked as `@experimental` anymore
+
5.1.0
-----
/**
* @author Jeroen Spee <https://github.com/Jeroeny>
*
- * @experimental in 5.3
- *
* @see https://rocket.chat/docs/administrator-guides/integrations/
*/
final class RocketChatOptions implements MessageOptionsInterface
/**
* @author Jeroen Spee <https://github.com/Jeroeny>
- *
- * @experimental in 5.3
*/
final class RocketChatTransport extends AbstractTransport
{
/**
* @author Jeroen Spee <https://github.com/Jeroeny>
- *
- * @experimental in 5.3
*/
final class RocketChatTransportFactory extends AbstractTransportFactory
{
CHANGELOG
=========
+5.3.0
+-----
+
+ * The bridge is not marked as `@experimental` anymore
+
5.2.0
-----
/**
* @author Pierre Tondereau <pierre.tondereau@gmail.com>
- *
- * @experimental in 5.3
*/
final class SendinblueTransport extends AbstractTransport
{
/**
* @author Pierre Tondereau <pierre.tondereau@protonmail.com>
- *
- * @experimental in 5.3
*/
final class SendinblueTransportFactory extends AbstractTransportFactory
{
CHANGELOG
=========
+5.3.0
+-----
+
+ * The bridge is not marked as `@experimental` anymore
+
5.1
-----
/**
* @author Iliya Miroslavov Iliev <i.miroslavov@gmail.com>
- *
- * @experimental in 5.3
*/
final class SinchTransport extends AbstractTransport
{
/**
* @author Iliya Miroslavov Iliev <i.miroslavov@gmail.com>
- *
- * @experimental in 5.3
*/
final class SinchTransportFactory extends AbstractTransportFactory
{
/**
* @author Tomas Norkūnas <norkunas.tom@gmail.com>
- *
- * @experimental in 5.3
*/
final class SlackHeaderBlock extends AbstractSlackBlock
{
5.3.0
-----
+ * The bridge is not marked as `@experimental` anymore
* Check for maximum number of buttons in Slack action block
* Add HeaderBlock
/**
* @author Fabien Potencier <fabien@symfony.com>
- *
- * @experimental in 5.3
*/
final class SlackOptions implements MessageOptionsInterface
{
/**
* @author Fabien Potencier <fabien@symfony.com>
- *
- * @experimental in 5.3
*/
final class SlackTransport extends AbstractTransport
{
/**
* @author Fabien Potencier <fabien@symfony.com>
- *
- * @experimental in 5.3
*/
final class SlackTransportFactory extends AbstractTransportFactory
{
/**
* @author Marcin Szepczynski <szepczynski@gmail.com>
- * @experimental in 5.3
*/
final class SmsapiTransport extends AbstractTransport
{
/**
* @author Marcin Szepczynski <szepczynski@gmail.com>
- * @experimental in 5.3
*/
class SmsapiTransportFactory extends AbstractTransportFactory
{
CHANGELOG
=========
+5.3.0
+-----
+
+ * The bridge is not marked as `@experimental` anymore
+
5.0.0
-----
/**
* @author Mihail Krasilnikov <mihail.krasilnikov.j@gmail.com>
- *
- * @experimental in 5.3
*/
abstract class AbstractTelegramReplyMarkup
{
/**
* @author Mihail Krasilnikov <mihail.krasilnikov.j@gmail.com>
- *
- * @experimental in 5.3
*/
abstract class AbstractKeyboardButton
{
* @author Mihail Krasilnikov <mihail.krasilnikov.j@gmail.com>
*
* @see https://core.telegram.org/bots/api#inlinekeyboardbutton
- *
- * @experimental in 5.3
*/
final class InlineKeyboardButton extends AbstractKeyboardButton
{
* @author Mihail Krasilnikov <mihail.krasilnikov.j@gmail.com>
*
* @see https://core.telegram.org/bots/api#keyboardbutton
- *
- * @experimental in 5.3
*/
final class KeyboardButton extends AbstractKeyboardButton
{
* @author Mihail Krasilnikov <mihail.krasilnikov.j@gmail.com>
*
* @see https://core.telegram.org/bots/api#forcereply
- *
- * @experimental in 5.3
*/
final class ForceReply extends AbstractTelegramReplyMarkup
{
* @author Mihail Krasilnikov <mihail.krasilnikov.j@gmail.com>
*
* @see https://core.telegram.org/bots/api#inlinekeyboardmarkup
- *
- * @experimental in 5.3
*/
final class InlineKeyboardMarkup extends AbstractTelegramReplyMarkup
{
* @author Mihail Krasilnikov <mihail.krasilnikov.j@gmail.com>
*
* @see https://core.telegram.org/bots/api#replykeyboardmarkup
- *
- * @experimental in 5.3
*/
final class ReplyKeyboardMarkup extends AbstractTelegramReplyMarkup
{
* @author Mihail Krasilnikov <mihail.krasilnikov.j@gmail.com>
*
* @see https://core.telegram.org/bots/api#replykeyboardremove
- *
- * @experimental in 5.3
*/
final class ReplyKeyboardRemove extends AbstractTelegramReplyMarkup
{
/**
* @author Mihail Krasilnikov <mihail.krasilnikov.j@gmail.com>
- *
- * @experimental in 5.3
*/
final class TelegramOptions implements MessageOptionsInterface
{
* command.
*
* @author Fabien Potencier <fabien@symfony.com>
- *
- * @experimental in 5.3
*/
final class TelegramTransport extends AbstractTransport
{
/**
* @author Fabien Potencier <fabien@symfony.com>
- *
- * @experimental in 5.3
*/
final class TelegramTransportFactory extends AbstractTransportFactory
{
CHANGELOG
=========
+5.3.0
+-----
+
+ * The bridge is not marked as `@experimental` anymore
+
5.0.0
-----
/**
* @author Fabien Potencier <fabien@symfony.com>
- *
- * @experimental in 5.3
*/
final class TwilioTransport extends AbstractTransport
{
/**
* @author Fabien Potencier <fabien@symfony.com>
- *
- * @experimental in 5.3
*/
final class TwilioTransportFactory extends AbstractTransportFactory
{
CHANGELOG
=========
+5.3.0
+-----
+
+ * The bridge is not marked as `@experimental` anymore
+
5.2.0
-----
/**
* @author Mohammad Emran Hasan <phpfour@gmail.com>
- *
- * @experimental in 5.3
*/
final class ZulipOptions implements MessageOptionsInterface
{
/**
* @author Mohammad Emran Hasan <phpfour@gmail.com>
- *
- * @experimental in 5.3
*/
class ZulipTransport extends AbstractTransport
{
/**
* @author Mohammad Emran Hasan <phpfour@gmail.com>
- *
- * @experimental in 5.3
*/
class ZulipTransportFactory extends AbstractTransportFactory
{
CHANGELOG
=========
+5.3.0
+-----
+
+ * The component is not marked as `@experimental` anymore
+
5.2.0
-----
/**
* @author Fabien Potencier <fabien@symfony.com>
- *
- * @experimental in 5.3
*/
abstract class AbstractChannel implements ChannelInterface
{
/**
* @author Fabien Potencier <fabien@symfony.com>
- *
- * @experimental in 5.3
*/
final class BrowserChannel implements ChannelInterface
{
/**
* @author Fabien Potencier <fabien@symfony.com>
- *
- * @experimental in 5.3
*/
interface ChannelInterface
{
/**
* @author Fabien Potencier <fabien@symfony.com>
- *
- * @experimental in 5.3
*/
final class ChannelPolicy implements ChannelPolicyInterface
{
/**
* @author Fabien Potencier <fabien@symfony.com>
- *
- * @experimental in 5.3
*/
interface ChannelPolicyInterface
{
/**
* @author Fabien Potencier <fabien@symfony.com>
- *
- * @experimental in 5.3
*/
class ChatChannel extends AbstractChannel
{
/**
* @author Fabien Potencier <fabien@symfony.com>
- *
- * @experimental in 5.3
*/
class EmailChannel implements ChannelInterface
{
/**
* @author Fabien Potencier <fabien@symfony.com>
- *
- * @experimental in 5.3
*/
class SmsChannel extends AbstractChannel
{
/**
* @author Fabien Potencier <fabien@symfony.com>
- *
- * @experimental in 5.3
*/
final class Chatter implements ChatterInterface
{
* Interface for classes able to send chat messages synchronous and/or asynchronous.
*
* @author Fabien Potencier <fabien@symfony.com>
- *
- * @experimental in 5.3
*/
interface ChatterInterface extends TransportInterface
{
/**
* @author Fabien Potencier <fabien@symfony.com>
- *
- * @experimental in 5.3
*/
final class NotificationDataCollector extends DataCollector
{
/**
* @author Fabien Potencier <fabien@symfony.com>
- *
- * @experimental in 5.3
*/
final class MessageEvent extends Event
{
/**
* @author Fabien Potencier <fabien@symfony.com>
- *
- * @experimental in 5.3
*/
class NotificationEvents
{
/**
* @author Fabien Potencier <fabien@symfony.com>
- *
- * @experimental in 5.3
*/
class NotificationLoggerListener implements EventSubscriberInterface, ResetInterface
{
* Sends a rejected message to the notifier.
*
* @author Fabien Potencier <fabien@symfony.com>
- *
- * @experimental in 5.3
*/
class SendFailedMessageToNotifierListener implements EventSubscriberInterface
{
* Exception interface for all exceptions thrown by the component.
*
* @author Fabien Potencier <fabien@symfony.com>
- *
- * @experimental in 5.3
*/
interface ExceptionInterface extends \Throwable
{
/**
* @author Fabien Potencier <fabien@symfony.com>
- *
- * @experimental in 5.3
*/
class IncompleteDsnException extends InvalidArgumentException
{
/**
* @author Fabien Potencier <fabien@symfony.com>
- *
- * @experimental in 5.3
*/
class InvalidArgumentException extends \InvalidArgumentException implements ExceptionInterface
{
/**
* @author Oskar Stark <oskarstark@googlemail.com>
- *
- * @experimental in 5.3
*/
class LengthException extends LogicException
{
/**
* @author Fabien Potencier <fabien@symfony.com>
- *
- * @experimental in 5.3
*/
class LogicException extends \LogicException implements ExceptionInterface
{
/**
* @author Fabien Potencier <fabien@symfony.com>
- *
- * @experimental in 5.3
*/
class RuntimeException extends \RuntimeException implements ExceptionInterface
{
/**
* @author Fabien Potencier <fabien@symfony.com>
- *
- * @experimental in 5.3
*/
class TransportException extends RuntimeException implements TransportExceptionInterface
{
/**
* @author Fabien Potencier <fabien@symfony.com>
- *
- * @experimental in 5.3
*/
interface TransportExceptionInterface extends ExceptionInterface
{
/**
* @author Oskar Stark <oskarstark@googlemail.com>
- *
- * @experimental in 5.3
*/
class UnsupportedMessageTypeException extends LogicException
{
/**
* @author Konstantin Myakshin <molodchick@gmail.com>
- *
- * @experimental in 5.3
*/
class UnsupportedSchemeException extends LogicException
{
/**
* @author Fabien Potencier <fabien@symfony.com>
- *
- * @experimental in 5.3
*/
final class ChatMessage implements MessageInterface
{
/**
* @author Fabien Potencier <fabien@symfony.com>
- *
- * @experimental in 5.3
*/
final class EmailMessage implements MessageInterface
{
/**
* @author Fabien Potencier <fabien@symfony.com>
- *
- * @experimental in 5.3
*/
interface MessageInterface
{
/**
* @author Fabien Potencier <fabien@symfony.com>
- *
- * @experimental in 5.3
*/
interface MessageOptionsInterface
{
/**
* @author Jan Schädlich <jan.schaedlich@sensiolabs.de>
- *
- * @experimental in 5.3
*/
final class NullMessage implements MessageInterface
{
/**
* @author Jérémy Romey <jeremy@free-agent.fr>
- *
- * @experimental in 5.3
*/
final class SentMessage
{
/**
* @author Fabien Potencier <fabien@symfony.com>
- *
- * @experimental in 5.3
*/
final class SmsMessage implements MessageInterface
{
/**
* @author Fabien Potencier <fabien@symfony.com>
- *
- * @experimental in 5.3
*/
final class MessageHandler
{
/**
* @author Fabien Potencier <fabien@symfony.com>
- *
- * @experimental in 5.3
*/
interface ChatNotificationInterface
{
/**
* @author Fabien Potencier <fabien@symfony.com>
- *
- * @experimental in 5.3
*/
interface EmailNotificationInterface
{
/**
* @author Fabien Potencier <fabien@symfony.com>
- *
- * @experimental in 5.3
*/
class Notification
{
/**
* @author Fabien Potencier <fabien@symfony.com>
- *
- * @experimental in 5.3
*/
interface SmsNotificationInterface
{
/**
* @author Fabien Potencier <fabien@symfony.com>
- *
- * @experimental in 5.3
*/
final class Notifier implements NotifierInterface
{
* Interface for the Notifier system.
*
* @author Fabien Potencier <fabien@symfony.com>
- *
- * @experimental in 5.3
*/
interface NotifierInterface
{
The Notifier component sends notifications via one or more channels (email, SMS, ...).
-**This Component is experimental**.
-[Experimental features](https://symfony.com/doc/current/contributing/code/experimental.html)
-are not covered by Symfony's
-[Backward Compatibility Promise](https://symfony.com/doc/current/contributing/code/bc.html).
-
Resources
---------
/**
* @author Jan Schädlich <jan.schaedlich@sensiolabs.de>
- *
- * @experimental in 5.3
*/
interface EmailRecipientInterface extends RecipientInterface
{
/**
* @author Jan Schädlich <jan.schaedlich@sensiolabs.de>
- *
- * @experimental in 5.3
*/
trait EmailRecipientTrait
{
/**
* @author Fabien Potencier <fabien@symfony.com>
- *
- * @experimental in 5.3
*/
class NoRecipient implements RecipientInterface
{
/**
* @author Fabien Potencier <fabien@symfony.com>
* @author Jan Schädlich <jan.schaedlich@sensiolabs.de>
- *
- * @experimental in 5.3
*/
class Recipient implements EmailRecipientInterface, SmsRecipientInterface
{
/**
* @author Jan Schädlich <jan.schaedlich@sensiolabs.de>
- *
- * @experimental in 5.3
*/
interface RecipientInterface
{
/**
* @author Fabien Potencier <fabien@symfony.com>
* @author Jan Schädlich <jan.schaedlich@sensiolabs.de>
- *
- * @experimental in 5.3
*/
interface SmsRecipientInterface extends RecipientInterface
{
/**
* @author Jan Schädlich <jan.schaedlich@sensiolabs.de>
- *
- * @experimental in 5.3
*/
trait SmsRecipientTrait
{
/**
* @author Fabien Potencier <fabien@symfony.com>
- *
- * @experimental in 5.3
*/
final class Texter implements TexterInterface
{
* Interface for classes able to send SMS messages synchronous and/or asynchronous.
*
* @author Fabien Potencier <fabien@symfony.com>
- *
- * @experimental in 5.3
*/
interface TexterInterface extends TransportInterface
{
/**
* @author Fabien Potencier <fabien@symfony.com>
- *
- * @experimental in 5.3
*/
class Transport
{
/**
* @author Fabien Potencier <fabien@symfony.com>
- *
- * @experimental in 5.3
*/
abstract class AbstractTransport implements TransportInterface
{
/**
* @author Konstantin Myakshin <molodchick@gmail.com>
* @author Fabien Potencier <fabien@symfony.com>
- *
- * @experimental in 5.3
*/
abstract class AbstractTransportFactory implements TransportFactoryInterface
{
/**
* @author Fabien Potencier <fabien@symfony.com>
- *
- * @experimental in 5.3
*/
final class Dsn
{
* Uses several Transports using a failover algorithm.
*
* @author Fabien Potencier <fabien@symfony.com>
- *
- * @experimental in 5.3
*/
class FailoverTransport extends RoundRobinTransport
{
/**
* @author Fabien Potencier <fabien@symfony.com>
- *
- * @experimental in 5.3
*/
class NullTransport implements TransportInterface
{
/**
* @author Fabien Potencier <fabien@symfony.com>
- *
- * @experimental in 5.3
*/
final class NullTransportFactory extends AbstractTransportFactory
{
* Uses several Transports using a round robin algorithm.
*
* @author Fabien Potencier <fabien@symfony.com>
- *
- * @experimental in 5.3
*/
class RoundRobinTransport implements TransportInterface
{
/**
* @author Konstantin Myakshin <molodchick@gmail.com>
- *
- * @experimental in 5.3
*/
interface TransportFactoryInterface
{
/**
* @author Fabien Potencier <fabien@symfony.com>
- *
- * @experimental in 5.3
*/
interface TransportInterface
{
/**
* @author Fabien Potencier <fabien@symfony.com>
- *
- * @experimental in 5.3
*/
final class Transports implements TransportInterface
{