DIP 1052, "Editions", Has been Accepted

Mike Parker aldacron at gmail.com
Mon Oct 20 11:32:05 UTC 2025


In the DLF's October 2025 monthly meeting, we had a final 
discussion about [DIP 1052, 
"Editions](https://github.com/dlang/DIPs/blob/master/DIPs/accepted/DIP1052.md). The discussion ended in agreement to make three changes to the DIP before sending it onward to Formal Assessment:

1. clarify that the `-E` switch does not modify the import path;
2. specify that an edition's identifier is always the year in 
which it is released;
3. remove the `__EDITION__` special keyword and add a comment 
explaining why.

After making the changes, Walter and Atila reviewed it one last 
time to ensure it fits what we had discussed. They both then gave 
the thumbs up to mark it as 'Accepted'.

The rationale for accepting it: we need a way to evolve the 
language while minimizing the pain for users when updating older 
code, i.e., break things without breaking things.

Editions will allow us more room to break things as we move the 
language forward with less need to worry about existing code. It 
doesn't completely eliminate the potential for problems, but does 
give us more freedom.

Users will be able to update to new compiler releases to take 
advantage of non-breaking changes and bug fixes and still choose 
not to upgrade their code to the latest edition with the breaking 
changes unless and until they are ready. Hopefully, the days of 
freezing on a specific compiler release because a new feature 
breaks your code will be behind us.

Thanks to everyone who provided feedback in the forum discussions 
about this DIP, and to all the members of the core team who 
helped shape the DIP into its final form.


More information about the Digitalmars-d-announce mailing list