digitalmars.D.announce - D:YAML 0.5 (also, D:YAML 0.4.5, TinyEndian 0.1)
- Kiith-Sa (61/61) Aug 06 2014 D:YAML is a YAML parser and emitter for D.
- Jonathan M Davis (5/6) Aug 06 2014 Thanks a lot for working on this. I actually really hate YAML,
- Gary Willoughby (4/11) Aug 06 2014 Great thanks. One tiny issue however is that v0.4.5 is not
- Kiith-Sa (8/22) Aug 07 2014 Is there any way to work this around?
- Gary Willoughby (3/26) Aug 07 2014 Try asking for a solution here:
- Kiith-Sa (2/2) Aug 08 2014 Should be fixed now with 0.4.6:
- Gary Willoughby (2/4) Aug 09 2014 Awesome! ta.
- Jeremy DeHaan (4/27) Aug 07 2014 As far as I know, the DUB registry doesn't look at tags. It looks
- Jacob Carlborg (4/7) Aug 08 2014 It does look at tags.
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 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 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 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
Aug 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
Aug 06 2014
On Wednesday, 6 August 2014 at 17:09:50 UTC, Kiith-Sa wrote: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.5Great 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.
Aug 06 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: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.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.5Great 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.
Aug 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:Try asking for a solution here: http://forum.rejectedsoftware.com/groups/rejectedsoftware.dub/On Wednesday, 6 August 2014 at 17:09:50 UTC, Kiith-Sa wrote: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.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.5Great 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.
Aug 07 2014
Should be fixed now with 0.4.6: http://code.dlang.org/packages/dyaml/0.4.6
Aug 08 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.6Awesome! ta.
Aug 09 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: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.On Wednesday, 6 August 2014 at 17:09:50 UTC, Kiith-Sa wrote: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.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.5Great 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.
Aug 07 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
Aug 08 2014