2020-12-05 15:13:00 +01:00
|
|
|
# Changelog
|
2020-11-09 12:37:28 +01:00
|
|
|
|
2020-12-05 15:13:00 +01:00
|
|
|
## master
|
2020-12-08 16:41:49 +01:00
|
|
|
nothing yet
|
|
|
|
|
|
|
|
<br>
|
|
|
|
<br>
|
|
|
|
|
|
|
|
## 0.5.0
|
2020-12-05 15:13:00 +01:00
|
|
|
|
|
|
|
### New features
|
|
|
|
- Introduced `FileChunks` class. Takes care of the proper resource management when iterating via `JsonMachine::fromFile()`.
|
|
|
|
It is used internally, and you probably won't come across it.
|
2020-12-08 16:37:36 +01:00
|
|
|
- New `ErrorWrappingDecoder`. Use it when you want to skip malformed JSON items. See [Decoders](README.md#decoders).
|
2020-12-05 15:13:00 +01:00
|
|
|
|
|
|
|
### BC breaks
|
|
|
|
- `StreamBytes` and `StringBytes` renamed to `StreamChunks` and `StringChunks`.
|
|
|
|
These are internal classes, and you probably won't notice the change
|
|
|
|
unless you use them directly for some reason.
|
2020-11-12 16:16:40 +01:00
|
|
|
|
|
|
|
<br>
|
|
|
|
<br>
|
2020-11-09 12:37:28 +01:00
|
|
|
|
2020-12-05 15:13:00 +01:00
|
|
|
## 0.4.1
|
|
|
|
### New features
|
2020-12-01 20:53:49 +01:00
|
|
|
- Tracking of parsing progress
|
|
|
|
|
2020-12-01 20:58:22 +01:00
|
|
|
<br>
|
|
|
|
<br>
|
|
|
|
|
2020-12-05 15:13:00 +01:00
|
|
|
## 0.4.0
|
|
|
|
### New features
|
2020-12-08 12:56:58 +01:00
|
|
|
- [Decoders](README.md#decoders)
|
2020-11-08 12:55:44 +01:00
|
|
|
- PHP 8 support (thanks @snapshotpl)
|
2020-12-05 15:13:00 +01:00
|
|
|
### BC breaks
|
2020-11-09 12:37:28 +01:00
|
|
|
- `ext-json` is not required in `composer.json` anymore, because custom decoder might not need it.
|
|
|
|
However **built-in decoders depend on it** so it must be present if you use them.
|
2020-11-09 12:24:07 +01:00
|
|
|
- All exceptions now extend `JsonMachineException` (thanks @gabimem)
|
|
|
|
- Throws `UnexpectedEndSyntaxErrorException` on an unexpected end of JSON structure (thanks @gabimem)
|
2020-04-17 13:08:40 +02:00
|
|
|
- Function `httpClientChunks()` is **deprecated** so that compatibility with Symfony HttpClient
|
2020-11-08 12:55:44 +01:00
|
|
|
is not on the shoulders of JSON Machine maintainer. The code is simple and everyone can make their own
|
2020-04-17 13:08:40 +02:00
|
|
|
function and maintain it. The code was moved to [examples](src/examples/symfonyHttpClient.php).
|
|
|
|
- Function `objects()` is **deprecated**. The way `objects()` works is that it casts decoded arrays
|
|
|
|
to objects. It brings some unnecessary overhead and risks on huge datasets.
|
2020-11-08 12:55:44 +01:00
|
|
|
Alternative is to use `ExtJsonDecoder` which decodes items as objects by default (same as `json_decode`).
|
2020-04-17 13:08:40 +02:00
|
|
|
```php
|
|
|
|
<?php
|
|
|
|
|
|
|
|
use JsonMachine\JsonDecoder\ExtJsonDecoder;
|
|
|
|
use JsonMachine\JsonMachine;
|
|
|
|
|
2020-11-08 12:55:44 +01:00
|
|
|
$jsonMachine = JsonMachine::fromFile('path/to.json', '', new ExtJsonDecoder);
|
2020-04-17 13:08:40 +02:00
|
|
|
```
|
|
|
|
Therefore no additional casting is required.
|
2020-04-17 12:43:32 +02:00
|
|
|
- Invalid json object keys will now throw and won't be ignored anymore.
|
2020-12-05 15:13:00 +01:00
|
|
|
### Fixed bugs
|
2020-04-17 12:43:32 +02:00
|
|
|
- Decoding of json object keys checks for errors and does not silently ignore them.
|