Skip to content

Commit

Permalink
Remove deprecated code for Micronaut Framework 5 and document breakin…
Browse files Browse the repository at this point in the history
…g changes. (#364)

closes #353
  • Loading branch information
wetted authored Mar 12, 2024
1 parent e3af867 commit 8506404
Show file tree
Hide file tree
Showing 5 changed files with 22 additions and 56 deletions.
10 changes: 10 additions & 0 deletions config/accepted-api-changes.json
Original file line number Diff line number Diff line change
Expand Up @@ -163,5 +163,15 @@
"type": "io.micronaut.email.AbstractTransactionalEmailSender",
"member": "Constructor io.micronaut.email.AbstractTransactionalEmailSender(java.util.concurrent.ExecutorService)",
"reason": "make constructor of abstract class protected in the next mayor version of Micronaut Email"
},
{
"type": "io.micronaut.email.Attachment",
"member": "Constructor io.micronaut.email.Attachment(java.lang.String,java.lang.String,byte[],java.lang.String)",
"reason": "Removed deprecated constructor for Micronaut 5"
},
{
"type": "io.micronaut.email.validation.AnyRecipientConstraintValidationFactory",
"member": "Constructor io.micronaut.email.validation.AnyRecipientConstraintValidationFactory()",
"reason": "Removed deprecated class for Micronaut 5"
}
]
20 changes: 1 addition & 19 deletions email/src/main/java/io/micronaut/email/Attachment.java
Original file line number Diff line number Diff line change
Expand Up @@ -15,13 +15,12 @@
*/
package io.micronaut.email;

import io.micronaut.core.annotation.Creator;
import io.micronaut.core.annotation.Introspected;
import io.micronaut.core.annotation.NonNull;
import io.micronaut.core.annotation.Nullable;

import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;

import java.io.ByteArrayOutputStream;
import java.io.DataInputStream;
import java.io.File;
Expand Down Expand Up @@ -66,7 +65,6 @@ public class Attachment {
* @param disposition content disposition
* @since 2.1.0
*/
@Creator
public Attachment(@NonNull String filename,
@NonNull String contentType,
@NonNull byte[] content,
Expand All @@ -79,22 +77,6 @@ public Attachment(@NonNull String filename,
this.disposition = disposition;
}

/**
*
* @param filename filename to show up in email
* @param content file content
* @param contentType file content type
* @param id content identifier
* @deprecated Use {@link Attachment#Attachment(String, String, byte[], String, String)}
*/
@Deprecated(since = "2.1.0", forRemoval = true)
public Attachment(@NonNull String filename,
@NonNull String contentType,
@NonNull byte[] content,
@Nullable String id) {
this(filename, contentType, content, id, null);
}

/**
*
* @return Attachment's builder
Expand Down

This file was deleted.

2 changes: 1 addition & 1 deletion gradle.properties
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
projectVersion=2.5.0-SNAPSHOT
projectVersion=3.0.0-SNAPSHOT

projectGroup=io.micronaut.email

Expand Down
12 changes: 10 additions & 2 deletions src/main/docs/guide/breaks.adoc
Original file line number Diff line number Diff line change
@@ -1,5 +1,13 @@
=== Micronaut Email 2
This section documents breaking changes between Micronaut EMail versions:

Micronaut Email 2 migrates to https://jakartaee.github.io/mail-api/[Jakarta Mail] package namespaces, from `javax.mail` to `jakarta.mail`. Moreover, it uses transitive dependency `jakarta.mail:jakarta.mail-api` instead of `com.sun.mail:javax.mail`. Jakarta Mail also separates API and Implementation. Previous implementation sources are now part of the https://eclipse-ee4j.github.io/angus-mail/[Eclipse Angus] project, the direct successor to JavaMail/JakartaMail. In addition to `jakarta-mail-api` an additional dependency on `org.eclipse.angus:angus-mail` is required. Note that for Eclipse Angus, module and package prefixes changed from `com.sun.mail` to `org.eclipse.angus.mail`.
=== Micronaut Email 3.0.0

- The constructor `io.micronaut.email.Attachment(String, String, byte[], String)` deprecated previously has been removed. Use `Attachment(String, String, byte[], String, String instead)`.

- the class `io.micronaut.email.validation.AnyRecipientConstraintValidationFactory` deprecated previously has been removed. The `@Factory` annotation was intentionally removed. Thus, this class does nothing. `AnyRecipientValidator` is used instead.

=== Micronaut Email 2.0.0

Micronaut Email 2.0.0 migrates to https://jakartaee.github.io/mail-api/[Jakarta Mail] package namespaces, from `javax.mail` to `jakarta.mail`. Moreover, it uses transitive dependency `jakarta.mail:jakarta.mail-api` instead of `com.sun.mail:javax.mail`. Jakarta Mail also separates API and Implementation. Previous implementation sources are now part of the https://eclipse-ee4j.github.io/angus-mail/[Eclipse Angus] project, the direct successor to JavaMail/JakartaMail. In addition to `jakarta-mail-api` an additional dependency on `org.eclipse.angus:angus-mail` is required. Note that for Eclipse Angus, module and package prefixes changed from `com.sun.mail` to `org.eclipse.angus.mail`.

This release also updates the ActiveCampaign Postmark library from 1.8.x to 1.9.0. Although it's a minor revision otherwise it refactors package names and the dependency groupId from `com.wildbit.java` to `com.postmarkapp`.

0 comments on commit 8506404

Please sign in to comment.