<email>mike@php.net</email>
<active>yes</active>
</lead>
- <date>2022-02-01</date>
+ <date>2022-05-13</date>
<version>
<release>0.2.0</release>
<api>0.2.0</api>
</stability>
<license uri="http://copyfree.org/content/standard/licenses/2bsd/license.txt">BSD-2-Clause</license>
<notes><![CDATA[
-* WIP
+* Improved documentation.
+* Upgrade bundled ion-c library.
+* Fix gh-issue #5: ion\Timestamp crashes with string timezones.
+* Add ion\Exception.
+* Refactor (un)serialization facilities:
+ * Removed ion\Reader\Options class and moved the options to the ion\Reader constructor.
+ * Removed ion\Writer\Options class and moved the options to the ion\Writer constructor.
+ * Renamed ion\Serializer\PHP to ion\Serializer\Serializer.
+ * Renamed ion\Unserializer\PHP to ion\Unserializer\Unserializer.
+ * Changed ion\Serializer::serialize(mixed $data) to
+ ion\Serializer::serialize(mixed $data, ion\Writer|array|null $writer = null).
+ * Changed ion\Unserializer::unserialize(string|resource $data) to
+ ion\Unserializer::unserialize(ion\Reader|string|resource $data)
+* Add support for custom (un)serializers.
+
]]></notes>
<contents>
<dir name="/">
<file role="test" name="Buffer.phpt"/>
<file role="test" name="Stream.phpt"/>
<file role="test" name="Iterator.phpt"/>
- <file role="test" name="Options.phpt"/>
<file role="test" name="RecursiveIterator.phpt"/>
</dir>
- <dir name="Serializer">
- <file role="test" name="PHP.phpt"/>
- </dir>
<file role="test" name="Symbol.phpt"/>
<dir name="Symbol">
<file role="test" name="Enum.phpt"/>
</dir>
</dir>
<file role="test" name="Timestamp.phpt"/>
+ <dir name="Timestamp">
+ <file role="test" name="stringTZ.phpt"/>
+ </dir>
<file role="test" name="Type.phpt"/>
<dir name="serialize">
<file role="test" name="popo.phpt"/>
<file role="test" name="serializable.phpt"/>
<file role="test" name="basic.phpt"/>
</dir>
- <dir name="Unserializer">
- <file role="test" name="PHP.phpt"/>
- </dir>
+ <file role="test" name="serialize.phpt"/>
<dir name="unserialize">
<file role="test" name="multifield.phpt"/>
<file role="test" name="argtype.phpt"/>
<file role="test" name="multisequence.phpt"/>
<file role="test" name="stream.phpt"/>
</dir>
+ <file role="test" name="unserialize.phpt"/>
<file role="test" name="Writer.phpt"/>
<dir name="Writer">
<file role="test" name="Buffer.phpt"/>
<file role="test" name="Stream.phpt"/>
- <file role="test" name="Options.phpt"/>
+ </dir>
+ <dir name="~integration">
+ <file role="test" name="detect_utf8.phpt"/>
+ <file role="test" name="no_decimals.phpt"/>
</dir>
</dir>
<dir name="scripts">