Skip to content

Commit

Permalink
update download and changelog for v2.110.0-beta.1
Browse files Browse the repository at this point in the history
  • Loading branch information
ibuclaw committed Jul 1, 2024
1 parent 910b656 commit a2dbd9b
Show file tree
Hide file tree
Showing 2 changed files with 214 additions and 4 deletions.
210 changes: 210 additions & 0 deletions changelog/2.110.0_pre.dd
Original file line number Diff line number Diff line change
@@ -0,0 +1,210 @@
Ddoc

$(CHANGELOG_NAV_INJECT)

$(VERSION Aug 01, 2024, =================================================,

$(CHANGELOG_HEADER_STATISTICS
$(VER) comes with 4 major changes and 28 fixed Bugzilla issues.
A huge thanks goes to the
$(LINK2 #contributors, 27 contributors)
who made $(VER) possible.)

$(BUGSTITLE_TEXT_HEADER Compiler changes,

$(LI $(RELATIVE_LINK2 dmd.copying-to-void-arrays,Copying from `const(void)[]` to `void[]` is disallowed with `-preview=fixImmutableConv`))
$(LI $(RELATIVE_LINK2 dmd.import-exp-hexstring,Import expressions are now treated as hex strings))
$(LI $(RELATIVE_LINK2 dmd.unsafe-boolean-values,`bool` values other than 0 or 1 are not `@safe`))

)

$(BUGSTITLE_TEXT_HEADER Dub changes,

$(LI $(RELATIVE_LINK2 selections_from_parent_dir,`dub.selections.json` files are now looked up in parent directories too))

)

$(CHANGELOG_SEP_HEADER_TEXT_NONEMPTY)

$(CHANGELOG_SEP_HEADER_TEXT)

$(BUGSTITLE_TEXT_BODY Compiler changes,

$(LI $(LNAME2 dmd.copying-to-void-arrays,Copying from `const(void)[]` to `void[]` is disallowed with `-preview=fixImmutableConv`)
$(CHANGELOG_SOURCE_FILE dmd, changelog/dmd.copying-to-void-arrays.dd)
$(P
If `const(void)[]` data contains tail `const` pointers, copying to `void[]`
can subsequently violate `const` data:
)
---
void f(int*[] a, const int*[] b)
{
void[] va = a;
const void[] vb = b;
va[] = vb[]; // fills `a` with pointers to const
*a[0] = 0; // const data mutated
}
---
$(P
Copying `vb` data to `va` is no longer allowed with the
`-preview=fixImmutableConv` switch.
)
)

$(LI $(LNAME2 dmd.import-exp-hexstring,Import expressions are now treated as hex strings)
$(CHANGELOG_SOURCE_FILE dmd, changelog/dmd.import-exp-hexstring.dd)
$(P
While [Import expressions](https://dlang.org/spec/expression.html#import_expressions) are typed as `string`, they are also used to embed binary files.
By treating them the same as hex strings, they will implicitly convert to arrays of integral types other than `char`.
)

---
// Formerly, a cast was required:
immutable ubyte[] iconImg = cast(immutable ubyte[]) import("icon.png");

// Now, it implicitly converts to integral arrays:
immutable ubyte[] iconImg = import("icon.png");
---
)

$(LI $(LNAME2 dmd.unsafe-boolean-values,`bool` values other than 0 or 1 are not `@safe`)
$(CHANGELOG_SOURCE_FILE dmd, changelog/dmd.unsafe-boolean-values.dd)
$(P
The spec [was updated](https://dlang.org/spec/type.html#bool)
(for 2.109) so that only 0 and 1 are
[safe values](https://dlang.org/spec/function.html#safe-values)
for `bool`. This means that reading a `bool` value whose underlying byte representation
has other bits set is implementation-defined and should be avoided.
Consequently the following are deprecated in `@safe` code:
)

$(P
* `void` initialization of booleans (since 2.109)
* Reading a `bool` field from a union (since 2.109)
* Runtime casting a dynamic array to a `bool` dynamic array type
* Runtime casting a `bool` dynamic array to a tail mutable dynamic array type
* Casting a pointer to a `bool` pointer type
* Casting a `bool` pointer to a tail mutable pointer type
)
)


)

$(BUGSTITLE_TEXT_BODY Dub changes,

$(LI $(LNAME2 selections_from_parent_dir,`dub.selections.json` files are now looked up in parent directories too)
$(CHANGELOG_SOURCE_FILE dub, changelog/selections_from_parent_dir.dd)
$(P
In case the root package directory doesn't contain a `dub.selections.json`
file, dub now looks in parent directories too and potentially uses the
first (deepest) one it finds - if and only if that JSON file contains an
optional new `"inheritable": true` flag.
)

$(P
This allows using a 'central' `dub.selections.json` file for a repository
containing multiple dub projects, making it automatically apply to all
builds in that source tree if located in the repository root directory
(unless a local `dub.selections.json` overrides it).
)

$(P
Such an inherited selections file is never mutated when running dub for a
nested project, i.e., changes are always saved to a *local*
`dub.selections.json` file. E.g., when running `dub upgrade` for a nested
project.
)
)


)

$(CHANGELOG_SEP_TEXT_BUGZILLA)

$(BUGSTITLE_BUGZILLA DMD Compiler bug fixes,

$(LI $(BUGZILLA 12885): const union wrongly converts implicitly to mutable)
$(LI $(BUGZILLA 17148): Copying from const$(LPAREN)void$(RPAREN)[] to void[] breaks immutable)
$(LI $(BUGZILLA 23957): Casting to derived extern$(LPAREN)C++$(RPAREN) class is unsafe)
$(LI $(BUGZILLA 24534): Having a label on a declaration makes it possible to skip it with goto)
$(LI $(BUGZILLA 24558): C asserts segfault on Glibc)
$(LI $(BUGZILLA 24577): Struct with constructor returned from C++ wrong)
$(LI $(BUGZILLA 24582): Detect unsafe `cast$(LPAREN)bool[]$(RPAREN)`)
$(LI $(BUGZILLA 24583): di generator emits return scope and scope return in wrong order)
$(LI $(BUGZILLA 24592): ImportC: Bitfield layout wrong for int64 on 32-bit Linux)
$(LI $(BUGZILLA 24594): ImportC: Packed struct has wrong layout)
$(LI $(BUGZILLA 24603): Can copy from non-void array into void[] in safe code)
$(LI $(BUGZILLA 24622): Modify const data with void[] concatenation/append)
$(LI $(BUGZILLA 24630): Casting a bool pointer to a mutable pointer type is unsafe)
$(LI $(BUGZILLA 24631): Pointer cast allows changing @system field in @safe code)
$(LI $(BUGZILLA 24634): Parse error initializing array from expression with StructInitializer)
)
$(BUGSTITLE_BUGZILLA DMD Compiler enhancements,

$(LI $(BUGZILLA 20243): inout not substituted for in associative array key type)
$(LI $(BUGZILLA 24135): Eponymous template member overloads not shown as call candidates)
$(LI $(BUGZILLA 24580): ImportC: Asm label after attributes results in syntax error)
$(LI $(BUGZILLA 24598): OpenBSD: adapt compiler tests)
$(LI $(BUGZILLA 24623): Rename version CppRuntime_Clang/Gcc to CppRuntime_libcxx/libstdcxx.)
)
$(BUGSTITLE_BUGZILLA Phobos bug fixes,

$(LI $(BUGZILLA 24564): std.file.DirEntry throws Exception instead of FileException)
)
$(BUGSTITLE_BUGZILLA Druntime bug fixes,

$(LI $(BUGZILLA 24579): stat_t has wrong size for Android armv7a)
$(LI $(BUGZILLA 24626): hasUDA does not handle multiple UDAs of the same symbol)
)
$(BUGSTITLE_BUGZILLA Druntime enhancements,

$(LI $(BUGZILLA 24590): Illegal instruction with module constructors cycle and shared libphobos2 in _d_criticalenter2)
)
$(BUGSTITLE_BUGZILLA dlang.org bug fixes,

$(LI $(BUGZILLA 24543): The `@__future` attribute is $(LPAREN)almost$(RPAREN) undocumented)
$(LI $(BUGZILLA 24548): [spec] Boolean condition conversion is not documented)
$(LI $(BUGZILLA 24565): out contract variable is implicitly const)
)
$(BUGSTITLE_BUGZILLA Installer bug fixes,

$(LI $(BUGZILLA 24600): DMD nightly builds are outdated)
)
)
$(D_CONTRIBUTORS_HEADER 27)
$(D_CONTRIBUTORS
$(D_CONTRIBUTOR 0-v-0)
$(D_CONTRIBUTOR 0v0)
$(D_CONTRIBUTOR Alex Muscar)
$(D_CONTRIBUTOR Andrei Horodniceanu)
$(D_CONTRIBUTOR Ben Jones)
$(D_CONTRIBUTOR Brad Roberts)
$(D_CONTRIBUTOR Brian Callahan)
$(D_CONTRIBUTOR Connor)
$(D_CONTRIBUTOR Dennis)
$(D_CONTRIBUTOR Dennis Korpel)
$(D_CONTRIBUTOR Emmanuel Nyarko)
$(D_CONTRIBUTOR Iain Buclaw)
$(D_CONTRIBUTOR Jeremy Baxter)
$(D_CONTRIBUTOR Johan Engelen)
$(D_CONTRIBUTOR Jonathan M Davis)
$(D_CONTRIBUTOR Martin Kinkelin)
$(D_CONTRIBUTOR Mathias Lang)
$(D_CONTRIBUTOR Nicholas Wilson)
$(D_CONTRIBUTOR Nick Treleaven)
$(D_CONTRIBUTOR Paul Backus)
$(D_CONTRIBUTOR Quirin F. Schroll)
$(D_CONTRIBUTOR Quirin Schroll)
$(D_CONTRIBUTOR Razvan Nitu)
$(D_CONTRIBUTOR ryuukk)
$(D_CONTRIBUTOR Tim Schendekehl)
$(D_CONTRIBUTOR Walter Bright)
$(D_CONTRIBUTOR zopsicle)
)
$(D_CONTRIBUTORS_FOOTER)
$(CHANGELOG_NAV_INJECT)

Macros:
VER=2.110.0
TITLE=Change Log: $(VER)
8 changes: 4 additions & 4 deletions download.dd
Original file line number Diff line number Diff line change
Expand Up @@ -226,10 +226,10 @@ Macros:

DMDV2=$(LATEST)

BETA=$(COMMENT $0)
_=BETA=$0
B_DMDV2=2.109.1
B_SUFFIX=rc.1
_=BETA=$(COMMENT $0)
BETA=$0
B_DMDV2=2.110.0
B_SUFFIX=beta.1

DEB32=$(DLSITE dmd_$(DMDV2)-0_i386.deb)
DEB64=$(DLSITE dmd_$(DMDV2)-0_amd64.deb)
Expand Down

0 comments on commit a2dbd9b

Please sign in to comment.