(Dates below are YYYY/MM/DD)
- Fixed: #68/#70: Compatibility fix for DMD 2.091+: Remove FracSec usage if not available in Phobos (@schveiguy)
- New:: Eliminate libInputVisitor dependency, use Phobos Generator instead.
- Fixed: #64: Allow taggedalgebraic 0.11.x (@s-ludwig)
- Fixed: #40: The build-docs script shouldn't rely on specific dir layout for deps.
- Tests: Add test for latest supported dependencies and also update compiler lists to DMDFE v2.084.1.
- Fixed: #55: TimeZone.getTimeZone deprecation hotfix (@ZILtoid1991)
- Tests: Updated compiler list.
- Tests: Fix tests on DMD 2.081 by using an updated unit-threaded.
- Tests: Test on OSX (Travis) and Windows (AppVeyor).
- Fixed: #58: Can't build without hacking the version of unit-threaded being used. (Workaround for DUB #1217)
- Fixed: Null reference issue in DOM (been fixed in ~master for ages).
- Docs: Minor doc improvements.
- Tests: Updated compiler list.
- Fixed: #50: Outputs certain floating point numbers in unsupported scientific notation.
Big convenience enhancements to DOM interface and an improved pull parser interface. Plus documentation improvements and a couple bugfixes.
- New:
SDLangException
and subclasses now take the standard file and line parameters. - New: New exceptions:
DOMException
,DOMNotFoundException
,TagNotFoundException
,ValueNotFoundException
,AttributeNotFoundException
andArgumentException
. - New: Add a simple struct
FullName
to split and combine namespace/name combinations. - New:
Location.toString
takes optional output range as a sink. - New: #6:
Added
Tag.getValue
andTag.getAttribute
to more easily obtain values and attributes when only one value is expected for a given tag name. - New: #38: Add Tag.clone/Attribute.clone to deep clone a tag (and all its children)
- Change: Minimum DMDFE bumped to 2.069.
- Change: Cleaned up the names of the exceptions.
- Change: Deprecated
Tag.fullName
andAttribute.fullName
. UseTag.getFullName().toString()
andAttribute.getFullName().toString()
instead. - Change: #17: Remove unnecessary FileStart and FileEnd events.
- Change: Pull parser:
ParserEvent
is now aTaggedAlgebraic
, instead of astd.variant.Algebraic
. This enables use offinal switch
and provides simpler syntax. - Improved: Various documentation improvements.
- Improved: Improved some lexer/parser error messages.
- Fixed: Fixed building the CLI tool via dub.
- Fixed: #27: Should get error when serializing unsupported infinity and nan.
- Fixed: #44: Need better error message for ":tagname" (colon with no namespace)
- Fixed: libInputVisitor #1: Call to Fiber crashes an application. [Windows x86_64]
- Fixed: #39: Remove references to deprecated module std.stream (@lesderid)
- Change: Dropped support for DMDFE v2.066.1 and below (including LDC 0.15.1, GDC 5.2.0 and below) due to #36.
- Fixed: #34/#35: Bogus parse error for empty strings at EOL (@s-ludwig)
- Fixed: #36: Use Duration for fractional seconds to avoid deprecation warnings. (@s-ludwig)
- Change: Dropped support for DMDFE v2.065 and below (due to #24). Also dropped support for GDC 4.9 (but GDC 5.2 works).
- Fixed: #24: Fixed deprecation message: Replace deprecated core.time.Duration.* by split.
- Change: Don't need "-gc" for unittests, "-g" should do fine.
- Fixed: #31: Escape sequence results in range violation error.
- New: Uses travis-ci.org for continuous integration testing.
- Change: Updated
package.json
to newerdub.json
name. - Fixed: #16: Now fixed for DUB users, too: Access Violation when using the pull parser.
- Fixed: #21: Remove unneeded "buildOptions" from DUB package config (fixes a DUB warning) (@schuetzm)
- Fixed: #28/#29: Wrong line count for Windows style line breaks. (@s-ludwig)
- Fixed: Fixed running unittests via DUB. (Part of #29) (@s-ludwig)
- Fixed: Trailing line comments incorrectly treated as line continuation instead of newline (Related: #20, plus libsdl-d's e565f30 and c6dc722) (@Dicebot)
- Improved: #22/#23: Internal improvements (@schuetzm)
- Fixed: #16: Access Violation when using the pull parser.
- Breaking change: Changed package structure to use
package.d
. Most users will be unaffected, but the internal package names have changed slightly, and users of DMD 2.063.2 and below will need toimport sdlang.package;
instead ofimport sdlang;
until they upgrade their compiler. The built-in command line tool and unittests, however, do now require DMD 2.064 or newer because of this change. - New: Added StAX/Pull-style parser via pullParseFile and pullParseSource. (Warning: FileStartEvent and FileEndEvent might be removed later: #17)
- Fixed: Work around a DMD 2.064/2.065 segfault bug in a unittest.
- Fixed: #5 & #7: Building with Dub produces package format warnings (@ColdenCullen).
- Fixed: #8: Consecutive escape sequences not getting correctly decoded.
- Fixed: #11: Newline immediately after // is ignored.
- Fixed: #12: Incorrectly accepts "anon tag without a value" when the tag has children.
- Fixed: The
build-docs
script was broken for newer RDMDs. - Improved: Better error message for anonymous tags with no values.
- Fixed: Works with DMD v2.063.2.
- Fixed: Updated to work with latest DUB (@s-ludwig).
- Breaking change:
Tag
's interface has been completely overhauled to provide a clean, safe and easy-to-use range-based system. - Breaking change: Improved
Attribute
constructor, for convenience. - Breaking change: Split
SDLangException
into an exception hierarchy. Thelocation
andhasLocation
members have been moved intoSDLangParseException
. - Breaking change:
Attribute
is now a class. - New: Added
Tag.add(...)
for adding values, attributes and children to a tag. - New: Added
Tag.toSDLDocument()
to properly treatthis
as the root tag. - Fixed: Non-sink overloads of
Tag.toSDLDocument
andTag.toSDLString
now support the optionalindent
andindentLevel
params. - Fixed: Functions that convert tags to strings now output the attributes/children in their original order.
- Improved: Improved and expanded GitHub-based documentation.
- Can now output SDL. (Via
toSDLString()
funcs.) - Properly handle non-Unix newlines.
- Allow
\r
escape sequences. - Make DUB package: https://github.com/rejectedsoftware/dub
- Fixed Windows buildscript.
- Fixed build-docs script so API reference properly excludes private modules.
- Rename
build-unittests
->build-unittest
(for consistency withbin/sdlang-unittest
).
- Initial release