You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: Changelog.md
+23-4Lines changed: 23 additions & 4 deletions
Original file line number
Diff line number
Diff line change
@@ -214,7 +214,7 @@ What was added:
214
214
Release date: Near future...
215
215
216
216
What was added:<br>
217
-
**Maven:**
217
+
### Maven:
218
218
* The whole library was modularized using Maven into the following modules:
219
219
* SerialX-core - Contains core features and utilities shared across the library. It also contains basic protocols and parsers that resemble the functionalities of pre-1.2.X SerialX.
220
220
* SerialX-juss - Now contains everything JUSS related, features that were added roughly in 1.2 and later... This includes things like JussSerializer, ArrayConverter, OperationGroups etc...
@@ -224,14 +224,18 @@ What was added:<br>
224
224
* From now on Maven will be used for dependency management and building of this library.
225
225
* Distribution of this library will be conducted using Maven from now on.
226
226
227
-
**Unit tests and benchmarks:**
227
+
### Unit tests and benchmarks:
228
228
* Some examples are now used as unit tests, this should greatly simplify the testing process and reduce the chance of bug introduction in the future.
229
229
* These are now located on the new "tests-and-experimental-features" branch. This branch will be used for demonstrations, benchmarking, testing and experimenting. Note that this branch is not part of the main API.
230
230
231
-
**Specific changes:**
231
+
232
+
233
+
### Specific changes:
232
234
* ImportsProvider now implements caching for Imports.
233
235
* ParserRegistry now implements DataParser allowing for easier creation of more complex (context-free) languages.
234
236
* NumberConverter was refactored, now providing all in one parsing numberOf function that is on average 12x faster than the old implementation.
237
+
* New numberOf function supports octadecimal number and has improved handling of E-notation.
238
+
* Java integer caching is now in place.
235
239
* DecimalFormater was dumped in favor of the more customizable overridable format method.
236
240
* BooleanConverter and NullConverter were slightly refactored allowing for near O(1) complexity of parsing.
237
241
* ObjectConverter got a significant refactor!
@@ -256,4 +260,19 @@ What was added:<br>
256
260
* UniversalObjectInstantiationProtocol is no longer registered by default and now requires manual registration for a specific class, this enhances security since instantiation of any object (dangerous or not) is prevented.
257
261
* The same goes for SelfSerializableProtocol.
258
262
259
-
TODO
263
+
264
+
* JsonSerializer received many improvements and bug fixes in order to match JSON more accurately.
265
+
* Dedicated JsonCharacterConverter and JsonNumberConverter were added for this. Also, JsonObjectConverter was separated into its own class.
266
+
267
+
268
+
* Operators class was added, which is used for injecting all operator parsers into the specific registry.
269
+
* Almost every operator parser was refactored, resulting in simpler, shorter and therefore more optimized code. The most notable ones are:
270
+
* ArithmeticOperators which now also allows you to declare your own arithmetic operators and/or specify their precedence.
271
+
* Due to refactoring, ResultWrapper is no longer needed and will be removed, this extends to LogicalOperators as well.
272
+
* NegationOperator now supports separate handling of logical negation (! operator) and mathematical negation (- operator), however by default their behavior is the same.
273
+
274
+
275
+
* The ability to specify custom output PrintWriter was added for SerializationDebugger.
276
+
277
+
278
+
* Besides the changes mentioned above, countless smaller improvements including numerous bug fixes, performance improvements, API enhancements or Javadoc specifications were added across the whole library.
0 commit comments