Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ICU-22723 RC API change reports for C/J #3211

Merged
merged 1 commit into from
Sep 24, 2024

Conversation

sven-oly
Copy link
Contributor

@sven-oly sven-oly commented Sep 24, 2024

Checklist
  • Required: Issue filed: https://unicode-org.atlassian.net/browse/ICU-22723
  • Required: The PR title must be prefixed with a JIRA Issue number.
  • Required: The PR description must include the link to the Jira Issue, for example by completing the URL in the first checklist item
  • Required: Each commit message must be prefixed with a JIRA Issue number.
  • Issue accepted (done by Technical Committee after discussion)
  • Tests included, if applicable
  • API docs and/or User Guide docs changed or added, if applicable

@@ -23,11 +23,49 @@ Removed from ICU 75

| File | API | ICU 75 | ICU 76 |
|---|---|---|---|
| messageformat2_data_model.h | Builder& icu::message2::MFDataModel::Builder::addUnsupportedStatement(UnsupportedStatement&&, UErrorCode&) | InternalICU 75 | (missing)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@catamorphism @mihnita @echeran There are a lot of MF2 changes here, and below for Java -- both compared with what the API change report showed just a couple of weeks ago. Are these all covered by API proposals?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, this is due to #3177 (Java) and #3193 (C++). This removes unsupported expressions/statements from MF2, which includes removing some methods/classes from the data model. I followed Mihai's lead in not submitting a design doc. Should I have submitted one?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

API changes should always be proposed via icu-design email and a section in the API proposal doc.
Even for tech preview, it doesn't make sense to publicly propose the initial API and then silently change parts of it.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Got it.

@jira-pull-request-webhook
Copy link

Hooray! The files in the branch are the same across the force-push. 😃

~ Your Friendly Jira-GitHub PR Checker Bot

@sven-oly sven-oly merged commit 5889a53 into unicode-org:main Sep 24, 2024
97 checks passed
@mihnita
Copy link
Contributor

mihnita commented Sep 25, 2024

API changes should always be proposed via icu-design email and a section in the API proposal doc.
Even for tech preview, it doesn't make sense to publicly propose the initial API and then silently change parts of it.

I looked what happened with the previous MF2 Design docs.

The first one is here: https://docs.google.com/document/d/1NkHwFRWV9MiQROq4VVBh21tRMrP2DxpODg3fjHh0-Jw/edit#heading=h.rjgzrdwrcuur

It is called Mf2DataModel and the doc says:

"The data model is still not completely final, but this is the current status.
It is expected to change slightly, mostly based on the feedback we will receive from the users of the tech preview."

The next iteration is here: https://docs.google.com/document/d/1CzzbO5Es-OVMG6OnOMOgJwyU0zn8VlD_LJX3i9kMsuA/edit?resourcekey=0-CLzUfOMJA01jv16aEDj65w#heading=h.gf8wdfvznnx3

"Extensive changes.
At that point we had no data model, it was all “made up” based on the syntax."

And there is only a very high level outline of the data model listing the public classes / interfaces.

The current iteration is 100% identical to that one, except that it removes 3 entries:

static class UnsupportedStatement implements Declaration
static class UnsupportedExpression implements Expression
static class UnsupportedAnnotation implements Annotation

Other than the data model, I checked all classes, and the only differences are the 3 methods above, and the addition of error handling methods (ErrorHandlingBehavior + setter & getter).
Which has an approved design document.


I can put together a summary for this release that is very similar to the "second iteration" document before

...
Here is a summary of the APIs changes between the MessageFormat 2 release preview we had in ICU4J 72.1 and the upcoming 75.1 release.

Should I do a 75.1 => 76.1 summary?

@markusicu
Copy link
Member

Thanks Mihai for checking!
Ok with me on no proposals for the DataModel.
It's probably useful to include a short section about the tech preview changes and status in the download page, but not a blocker for the release candidate.
@richgillam FYI

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants