Thread overview
D:YAML 0.5 (also, D:YAML 0.4.5, TinyEndian 0.1)
Aug 06, 2014
Kiith-Sa
Aug 06, 2014
Jonathan M Davis
Aug 06, 2014
Gary Willoughby
Aug 07, 2014
Kiith-Sa
Aug 07, 2014
Gary Willoughby
Aug 08, 2014
Kiith-Sa
Aug 09, 2014
Gary Willoughby
Aug 08, 2014
Jeremy DeHaan
Aug 08, 2014
Jacob Carlborg
August 06, 2014
D:YAML is a YAML parser and emitter for D.


It's been a while since the last release and many small features
have been
added to the Git master over time, so I finally forced myself to
do an
official release.

D:YAML at GitHub:

https://github.com/kiith-sa/D-YAML


## Highlights ##

Some breaking changes:

   YAML loading API using std.stream is now obsolete. D:YAML 0.5
requires DMD
   2.066 (yes, the one that is not yet released - see 0.4.5 below
for
   compatibility).

DUB by default:

   Stopped using my own build script, updated examples to use DUB,
etc.

Significantly less memory allocations, both GC and malloc:

   D:YAML scanner now uses slices to avoid any allocations. UTF-8
is now used
   internally instead of decoding into UTF-32.

Better performance:

   I've spent some time profiling and optimizing, mainly for the
use case of
   'parsing few-kiB mostly ASCII files not using crazy advanced
YAML features'
   (I use YAML for game-related stuff). Performance for the above
use case
   is up about 80% (or, time spent is down to about 55%). For
mostly-unicode
   (that is, mostly non-ASCII unicode) files, performance is down
slightly
   (~10-15%). I don't have any thorough measurements to release,
just did various
   tests as I went.

Retired the dyaml.alwaysdata.net site, moved API docs/tutorials
to my new
site:

   http://defenestrate.eu/docs/dyaml/


And various small features/fixes/improvements. See the full
changelog for
details:

https://github.com/kiith-sa/D-YAML/releases/tag/v0.5.0


## D:YAML 0.4.5 ##

For compatibility with DMD 2.065, I also made a "release" out of
the last
state of git master before 2.066 was required. See the release at
GitHub:

https://github.com/kiith-sa/D-YAML/releases/tag/v0.4.5


## TinyEndian ##

This is just a single module with two functions that I separated
into a DUB
package as I think it may be useful. When removing the std.stream
dependency
from D:YAML I had to replace EndianStream with my own code (based
on
EndianStream but mostly rewritten). The result are two pure
nothrow
@nogc functions to detect UTF byte order marks and swap endianness

https://github.com/kiith-sa/tinyendian
August 06, 2014
On Wednesday, 6 August 2014 at 17:09:50 UTC, Kiith-Sa wrote:
> D:YAML is a YAML parser and emitter for D.

Thanks a lot for working on this. I actually really hate YAML, but I'm forced to work with it sometimes, and this library saved me from having to write a parser for it myself.

- Jonathan M Davis
August 06, 2014
On Wednesday, 6 August 2014 at 17:09:50 UTC, Kiith-Sa wrote:
> ## D:YAML 0.4.5 ##
>
> For compatibility with DMD 2.065, I also made a "release" out of
> the last
> state of git master before 2.066 was required. See the release at
> GitHub:
>
> https://github.com/kiith-sa/D-YAML/releases/tag/v0.4.5

Great thanks. One tiny issue however is that v0.4.5 is not available via the dub registry. It looks like the registry has only picked up v0.5.0.
August 07, 2014
On Wednesday, 6 August 2014 at 21:18:00 UTC, Gary Willoughby wrote:
> On Wednesday, 6 August 2014 at 17:09:50 UTC, Kiith-Sa wrote:
>> ## D:YAML 0.4.5 ##
>>
>> For compatibility with DMD 2.065, I also made a "release" out of
>> the last
>> state of git master before 2.066 was required. See the release at
>> GitHub:
>>
>> https://github.com/kiith-sa/D-YAML/releases/tag/v0.4.5
>
> Great thanks. One tiny issue however is that v0.4.5 is not available via the dub registry. It looks like the registry has only picked up v0.5.0.

Is there any way to work this around?
(I'm not in charge of the dub package, and even if I were I don't see how I could force it to detect the older tag)

- the only thing I can think of right now is putting it into a separate repo and registering it as a separate package, which is rather unwieldy.
August 07, 2014
On Thursday, 7 August 2014 at 13:38:20 UTC, Kiith-Sa wrote:
> On Wednesday, 6 August 2014 at 21:18:00 UTC, Gary Willoughby wrote:
>> On Wednesday, 6 August 2014 at 17:09:50 UTC, Kiith-Sa wrote:
>>> ## D:YAML 0.4.5 ##
>>>
>>> For compatibility with DMD 2.065, I also made a "release" out of
>>> the last
>>> state of git master before 2.066 was required. See the release at
>>> GitHub:
>>>
>>> https://github.com/kiith-sa/D-YAML/releases/tag/v0.4.5
>>
>> Great thanks. One tiny issue however is that v0.4.5 is not available via the dub registry. It looks like the registry has only picked up v0.5.0.
>
> Is there any way to work this around?
> (I'm not in charge of the dub package, and even if I were I don't see how I could force it to detect the older tag)
>
> - the only thing I can think of right now is putting it into a separate repo and registering it as a separate package, which is rather unwieldy.

Try asking for a solution here:
http://forum.rejectedsoftware.com/groups/rejectedsoftware.dub/
August 08, 2014
On Thursday, 7 August 2014 at 13:38:20 UTC, Kiith-Sa wrote:
> On Wednesday, 6 August 2014 at 21:18:00 UTC, Gary Willoughby wrote:
>> On Wednesday, 6 August 2014 at 17:09:50 UTC, Kiith-Sa wrote:
>>> ## D:YAML 0.4.5 ##
>>>
>>> For compatibility with DMD 2.065, I also made a "release" out of
>>> the last
>>> state of git master before 2.066 was required. See the release at
>>> GitHub:
>>>
>>> https://github.com/kiith-sa/D-YAML/releases/tag/v0.4.5
>>
>> Great thanks. One tiny issue however is that v0.4.5 is not available via the dub registry. It looks like the registry has only picked up v0.5.0.
>
> Is there any way to work this around?
> (I'm not in charge of the dub package, and even if I were I don't see how I could force it to detect the older tag)
>
> - the only thing I can think of right now is putting it into a separate repo and registering it as a separate package, which is rather unwieldy.

As far as I know, the DUB registry doesn't look at tags. It looks at branches that are in the repository. I think it only detects branches that are either numbered explicitly or are master.
August 08, 2014
On 2014-08-08 05:36, Jeremy DeHaan wrote:

> As far as I know, the DUB registry doesn't look at tags. It looks at
> branches that are in the repository. I think it only detects branches
> that are either numbered explicitly or are master.

It does look at tags.

-- 
/Jacob Carlborg
August 08, 2014
Should be fixed now with 0.4.6:

http://code.dlang.org/packages/dyaml/0.4.6
August 09, 2014
On Friday, 8 August 2014 at 22:00:03 UTC, Kiith-Sa wrote:
> Should be fixed now with 0.4.6:
>
> http://code.dlang.org/packages/dyaml/0.4.6

Awesome! ta.