Ddoc

$(COMMENT Pending changelog for 2.069. This will get copied to dlang.org and
    cleared when master gets merged into stable prior to 2.069.
)

$(BUGSTITLE Library Changes,

$(LI $(RELATIVE_LINK2 more-rangified-functions, More phobos functions were rangified.))
$(LI $(RELATIVE_LINK2 std-algorithm-moveEmplace, `moveEmplace` was added))
$(LI $(RELATIVE_LINK2 curl-dynamic-loading, libcurl is now loaded dynamically))
$(LI $(XREF traits, getUDAs) was added to help get
	user-defined attributes of specific types from symbols.)
$(LI $(XREF traits, getSymbolsByUDA) was
	added to find symbols with specific user-defined attributes.)
$(LI $(XREF math, cmp) was added, defining total ordering on
	floating-point numbers, including NaN.)
$(LI FreeBSD now also ships with a shared libphobos2.so library ($(LINK2 http://dlang.org/dll-linux.html, usage info)).)
$(LI The package $(STDMODREF experimental_allocator, std.experimental.allocator) was added.)

)

$(BUGSTITLE Library Changes,

$(LI $(LNAME2 more-rangified-functions, More phobos functions were rangified.)

    $(P Following the work released with $(RELATIVE_LINK2 rangified-functions,
        2.068.0) more phobos functions were rangified.
    )

    $(BOOKTABLE Rangified Functions:,
        $(TR $(TH Module) $(TH Functions)
        )
        $(TR $(TD $(STDMODREF stdio, std.stdio))
            $(TD
                <a href="phobos/std_file.html#.File.this">File.this</a>
            )
        )
        $(TR $(TD $(STDMODREF file, std.file))
            $(TD
                $(XREF file, append)
                $(XREF file, chdir)
                $(XREF file, copy)
                $(XREF file, exists)
                $(XREF file, getAttributes)
                $(XREF file, getLinkAttributes)
                $(XREF file, getSize)
                $(XREF file, getTimes)
                $(XREF file, getTimesWin)
                $(XREF file, isDir)
                $(XREF file, isFile)
                $(XREF file, isSymlink)
                $(XREF file, mkdir)
                $(XREF file, read)
                $(XREF file, readText)
                $(XREF file, remove)
                $(XREF file, rename)
                $(XREF file, rmdir)
                $(XREF file, setAttributes)
                $(XREF file, setTimes)
                $(XREF file, timeLastModified)
                $(XREF file, write)
            )
        )
    )
)

$(LI $(LNAME2 std-algorithm-moveEmplace, A combined `moveEmplace` was added.)

    $(P $(XREF algorithm_mutation, MoveEmplace) efficiently combines $(XREF
        algorithm_mutation, move) with $(XREF conv, emplace) thus avoids having
        to initialize and destroy a value before moving into uninitialized data.
    )

    ------
    T* moveToHeap(T)(ref T value)
    {
        import core.memory : GC;

        auto ptr = cast(T*)GC.malloc(T.sizeof);
        // move value and emplace it into ptr
        moveEmplace(value, *ptr);
        return ptr;
    }
    ------
    $(P There are also $(XREF algorithm_mutation, moveEmplaceAll)
        and $(XREF algorithm_mutation, moveEmplaceSome) as counterparts of
        $(XREF algorithm_mutation, moveAll) and $(XREF algorithm_mutation, moveSome).
    )
)

$(LI $(RELATIVE_LINK2 curl-dynamic-loading, libcurl is now loaded dynamically)

    $(P $(STDMODREF net_curl, std.net.curl) was changed to load curl as shared
        library at runtime.  This simplifies the usage as it's no longer
        necessary to link against libcurl or to install any development
        libraries.
    )

    $(P The implementation will also try to get the needed curl symbols from the
        executable itself. So it remains possible to link with a specific
        version of libcurl or with a static libcurl library.
    )

    $(P To make this work you have to link with $(I --export-dynamic) respectively
        use a $(I .DEF) file on Windows (see $(LINK2
        http://wiki.dlang.org/Curl_on_Windows#Using_the_static_lib, wiki) for
        more info on the latter).
    )
)

)

Macros:
    TITLE=Change Log

    BUGSTITLE = <div class="bugsfixed">$(H4 $1) $(OL $2 )</div>

    RELATIVE_LINK2=<a href="#$1">$+</a>
    LNAME2=<a class="anchor" title="Permalink to this section" id="$1" href="#$1">$+</a>

    STDMODREF = <a href="phobos/std_$1.html">$2</a>
    XREF = <a href="phobos/std_$1.html#$2">$2</a>
    CXREF = <a href="phobos/core_$1.html#$2">$2</a>

    BOOKTABLE = <table><caption>$1</caption>$+</table>
