Skip to content

Commit da8169b

Browse files
committed
0.12.12
1 parent cb102ae commit da8169b

File tree

1 file changed

+59
-0
lines changed

1 file changed

+59
-0
lines changed

changelog.adoc

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,65 @@ _The changelog below is for tagged, stable releases. For unstable releases,
1313
see the list at https://repo1.maven.org/maven2/com/lihaoyi/mill-dist_
1414

1515

16+
[#0-12-12]
17+
=== 0.12.12 - 2025-05-18
18+
:version: 0.12.12
19+
:milestone-name: 0.12.12
20+
:milestone: 115
21+
:prev-version: 0.12.11
22+
23+
* Backport `mill.scalalib.SonatypeCentralPublishModule/` from `main` ({link-pr}/5107[#5107]). With
24+
the https://central.sonatype.org/news/20250326_ossrh_sunset/[Sunset of `oss.sonatype.org`],
25+
all Mill projects still on `oss.sonatype.org` will need to migrate their sonatype namespaces
26+
(e.g. `com.lihaoyi`) to `central.sonatype.org` to continue publishing. Instructions for this migration
27+
are shown below:
28+
29+
** *WARNING: this migration is one-way and cannot be paused or rolled back. If you begin these
30+
steps, you must complete them, otherwise your project will be in an un-publishable state.
31+
Please read through all steps and ensure you have time to complete them all before you begin*
32+
33+
** (Optional) Upgrade to Mill `0.12.12`, which contains the latest `mill.scalalib.SonatypePublishModule/`
34+
command. This is optional because you can use it in earlier versions of Mill (>=0.12.6) as
35+
a `mill.contrib` moule, but upgrading is better as it ensures the command you use will be
36+
forwards compatible to future versions of Mill.
37+
38+
** Log into the new `central.sonatype.org` web UI (it uses your existing `oss.sonatype.org` username and password)
39+
and migrate your namespace from `oss.sonatype.org` via
40+
the instructions here https://central.sonatype.org/faq/what-is-different-between-central-portal-and-legacy-ossrh/.
41+
You will then no longer see your namespace on the `oss.sonatype.org` website and it will now be visible
42+
in the `central.sonatype.org` website
43+
44+
** Generate a new user token from the `central.sonatype.org` web UI, and replace the
45+
old `oss.sonatype.org` tokens everywhere in your publishing infrastructure (e.g. local
46+
scripts, Github Actions secrets, etc.)
47+
48+
** Replace all usage of `./mill mill.scalalib.PublishModule/` with `./mill mill.scalalib.SonatypeCentralPublishModule/`
49+
everywhere it is use (local scripts, Github Actions config, etc.). You should now be able to
50+
publish to `central.sonatype.org`, see in-progress and completed published artifacts in the
51+
`central.sonatype.org` website.
52+
53+
*** If you chose not to upgrade Mill to `0.12.12`, instead of `./mill mill.scalalib.SonatypeCentralPublishModule/`
54+
you will need to use `./mill --import "ivy:com.lihaoyi::mill-contrib-sonatypecentral:" mill.contrib.sonatypecentral.SonatypeCentralPublishModule/publishAll --publishArtifacts __.publishArtifacts`,
55+
and will need to switch to `./mill mill.scalalib.SonatypeCentralPublishModule/` anyway when later
56+
upgrading to Mill 1.0.0 and above.
57+
58+
** Note that `central.sonatype.org` is significantly stricter than `oss.sonatype.org` in validating
59+
published artifacts (details below). This should not affect 99% of projects out there which uses
60+
the default configuration, but may affect you if you use Maven Central to publish other non-jar
61+
artifacts (executables, zip files, etc), and cause confusing errors visible in the
62+
`central.sonatype.org` web portal. Below is a list of the incompatibilities that I am aware of.
63+
64+
*** `central.sonatype.org` now requires a `pom.xml` to be present with every artifact
65+
66+
*** `central.sonatype.org` now requires all files associated with an artifact to follow the
67+
`<artifact-name>-<artifact-version>` name prefix convention, whereas previously any name
68+
was accepted
69+
70+
*** `central.sonatype.org` does not allow non-standard `jar` files (e.g. graal native binaries,
71+
prepended assembly jars to be published with the `.jar` suffix, and they must instead be
72+
published with some other suffix via `def extraPublish`
73+
74+
1675
[#0-12-11]
1776
=== 0.12.11 - 2025-05-10
1877
:version: 0.12.11

0 commit comments

Comments
 (0)