Core Library
* Replace multiprocessing pool with futures executors. Now you can run multi-thread code on Lambda (no more semaphore problems) by steinitzu in https://github.com/dlt-hub/dlt/pull/719
* Support all writer types in parquet normalizer. You can load Arrow/Pandas to any destination by steinitzu in https://github.com/dlt-hub/dlt/pull/704
* Add `_dlt_load_id` and `_dlt_id` when loading Arrow/Pandas. steinitzu in https://github.com/dlt-hub/dlt/pull/704
* Pass Arrow/Pandas as data to run method. No need to wrap them in resources. by rudolfix in https://github.com/dlt-hub/dlt/pull/723
Docs
* filesystem/bucket verified source docs by dat-a-man in https://github.com/dlt-hub/dlt/pull/712
* in depth explanation of `dlt` config and secrets! by AstrakhantsevaAA in https://github.com/dlt-hub/dlt/pull/703
* new example: running chess pipeline in production with retries, trace saving and slack messages by AstrakhantsevaAA in https://github.com/dlt-hub/dlt/pull/711
Sources
* Simple, incremental Kinesis reader by sehnem https://github.com/dlt-hub/verified-sources/pull/276
**Full Changelog**: https://github.com/dlt-hub/dlt/compare/0.3.22...0.3.23