@@ -8,6 +8,72 @@ toc_depth: 2
88All notable changes to this project will be documented in this file.
99<!-- - END HEADER -->
1010
11+ ## [ 0.15.0] ( https://github.com/CuyZ/Valinor/compare/0.14.0...0.15.0 ) (2022-10-06)
12+
13+ ### Notable changes
14+
15+ Two similar features are introduced in this release: constants and enums
16+ wildcard notations. This is mainly useful when several cases of an enum or class
17+ constants share a common prefix.
18+
19+ Example for class constants:
20+
21+ ``` php
22+ final class SomeClassWithConstants
23+ {
24+ public const FOO = 1337;
25+
26+ public const BAR = 'bar';
27+
28+ public const BAZ = 'baz';
29+ }
30+
31+ $mapper = (new MapperBuilder())->mapper();
32+
33+ $mapper->map('SomeClassWithConstants::BA*', 1337); // error
34+ $mapper->map('SomeClassWithConstants::BA*', 'bar'); // ok
35+ $mapper->map('SomeClassWithConstants::BA*', 'baz'); // ok
36+ ```
37+
38+ Example for enum:
39+
40+ ``` php
41+ enum SomeEnum: string
42+ {
43+ case FOO = 'foo';
44+ case BAR = 'bar';
45+ case BAZ = 'baz';
46+ }
47+
48+ $mapper = (new MapperBuilder())->mapper();
49+
50+ $mapper->map('SomeEnum::BA*', 'foo'); // error
51+ $mapper->map('SomeEnum::BA*', 'bar'); // ok
52+ $mapper->map('SomeEnum::BA*', 'baz'); // ok
53+ ```
54+
55+ ### Features
56+
57+ * Add support for class constant type ([ 1244c2] ( https://github.com/CuyZ/Valinor/commit/1244c2d68f3478560241e89f74f28b36d6fc2888 ) )
58+ * Add support for wildcard in enumeration type ([ 69ebd1] ( https://github.com/CuyZ/Valinor/commit/69ebd19ee84cc56cc8c986f1b5aff299e8d62b5c ) )
59+ * Introduce utility class to build messages ([ cb8792] ( https://github.com/CuyZ/Valinor/commit/cb87925aac45ca1babea3f34b6cd6e24c9172905 ) )
60+
61+ ### Bug Fixes
62+
63+ * Add return types for cache implementations ([ 0e8f12] ( https://github.com/CuyZ/Valinor/commit/0e8f12e5f7ffd2193c8ab772dd98d5e1cc858b59 ) )
64+ * Correctly handle type inferring during mapping ([ 37f96f] ( https://github.com/CuyZ/Valinor/commit/37f96f101d95e843f6a83d7e29c84b945938a691 ) )
65+ * Fetch correct node value for children ([ 3ee526] ( https://github.com/CuyZ/Valinor/commit/3ee526cb27816910f5bf27380021fa1399206335 ) )
66+ * Improve scalar values casting ([ 212b77] ( https://github.com/CuyZ/Valinor/commit/212b77fd13c7ead3ba7c0aca165ea3af235b1fa9 ) )
67+ * Properly handle static anonymous functions ([ c009ab] ( https://github.com/CuyZ/Valinor/commit/c009ab98cc327c80e6589c22ee0b3c06b56849de ) )
68+
69+ ### Other
70+
71+ * Import namespace token parser inside library ([ 0b8ca9] ( https://github.com/CuyZ/Valinor/commit/0b8ca98a2c9051213f3a59be513f16199288d45f ) )
72+ * Remove unused code ([ b2889a] ( https://github.com/CuyZ/Valinor/commit/b2889a3ba022410a1929c969acae8e581f670535 ) , [ de8aa9] ( https://github.com/CuyZ/Valinor/commit/de8aa9f4402c7e83a3575a6143eb26b45ea13461 ) )
73+ * Save type token symbols during lexing ([ ad0f8f] ( https://github.com/CuyZ/Valinor/commit/ad0f8fee17773ec226bc4b1eb12370bfcd437187 ) )
74+
75+ ---
76+
1177## [ 0.14.0] ( https://github.com/CuyZ/Valinor/compare/0.13.0...0.14.0 ) (2022-09-01)
1278
1379### Notable changes
0 commit comments