2020-09-30 15:47:45 +06:00
# Changelog
2023-10-14 16:08:51 +06:00
2024-10-11 23:38:53 +06:00
## 0.23.0
2024-10-10 21:38:49 +06:00
2024-10-30 15:06:19 +06:00
**THIS UPDATE MAY CONTAINS SOME BREAKING CHANGES (INCLUDING BREAKING CHANGES IN BYTECODE LAYER) RELATED TO UPDATE OF
KTOR DEPENDENCY**
**THIS UPDATE CONTAINS CHANGES ACCORDING TO MIGRATION [GUIDE FROM KTOR ](https://ktor.io/docs/migrating-3.html )**
* `Versions` :
* `Ktor` : `2.3.12` -> `3.0.1`
* `Ktor` :
* `Common` :
* Extension `Input.downloadToTempFile` has changed its receiver to `Source` . Its API can be broken
* `Client` :
* Extension `HttpClient.tempUpload` has changed type of `onUpload` argument from `OnUploadCallback` to `ProgressListener`
* All extensions `HttpClient.uniUpload` have changed type of `onUpload` argument from `OnUploadCallback` to `ProgressListener`
* `Server` :
* Remove redundant `ApplicationCall.respond` extension due to its presence in the ktor library
2024-10-29 12:00:58 +06:00
## 0.22.9
2024-10-29 12:46:46 +06:00
* `Repos` :
* `Cache` :
* Add direct caching repos
2024-10-24 15:26:02 +06:00
## 0.22.8
2024-10-24 15:30:10 +06:00
* `Common` :
* Add `List.breakAsPairs` extension
* Add `Sequence.padWith` /`Sequence.padStart` /`Sequence.padEnd` and `List.padWith` /`List.padStart` /`List.padEnd` extensions
2024-10-19 13:41:25 +06:00
## 0.22.7
2024-10-19 15:21:00 +06:00
* `Versions` :
* `Kotlin` : `2.0.20` -> `2.0.21`
* `Compose` : `1.7.0-rc01` -> `1.7.0`
2024-10-19 13:44:37 +06:00
* `KSP` :
* `Sealed` :
* Change package of `GenerateSealedWorkaround` . Migration: replace `dev.inmo.microutils.kps.sealed.GenerateSealedWorkaround` -> `dev.inmo.micro_utils.ksp.sealed.GenerateSealedWorkaround`
2024-10-17 20:52:45 +06:00
## 0.22.6
2024-10-17 21:04:41 +06:00
* `KSP` :
* `Generator` :
* Add extension `KSClassDeclaration.buildSubFileName`
* Add extension `KSClassDeclaration.companion`
* Add extension `KSClassDeclaration.resolveSubclasses`
* `Sealed` :
* Improvements
2024-09-26 23:17:00 +06:00
## 0.22.5
2024-10-06 12:28:48 +06:00
* `Versions` :
* `Compose` : `1.7.0-beta02` -> `1.7.0-rc01`
* `SQLite` : `3.46.1.2` -> `3.46.1.3`
* `AndroidXFragment` : `1.8.3` -> `1.8.4`
2024-10-01 20:30:45 +06:00
* `Common` :
* Add extension `withReplacedAt` /`withReplaced` ([#489 ](https://github.com/InsanusMokrassar/MicroUtils/issues/489 ))
2024-09-26 23:50:57 +06:00
* `Coroutines` :
* Add extension `Flow.debouncedBy`
2024-10-06 12:25:42 +06:00
* `Ktor` :
* `Server` :
* Add `KtorApplicationConfigurator.Routing.Static` as solution for [#488 ](https://github.com/InsanusMokrassar/MicroUtils/issues/488 )
2024-09-26 23:50:57 +06:00
2024-09-25 21:03:18 +06:00
## 0.22.4
2024-09-25 22:09:50 +06:00
* `Versions` :
* `Exposed` : `0.54.0` -> `0.55.0`
* `SQLite` : `3.46.1.0` -> `3.46.1.2`
2024-09-20 12:18:17 +06:00
## 0.22.3
2024-09-20 12:44:10 +06:00
* `Versions` :
* `Serialization` : `1.7.2` -> `1.7.3`
* `Coroutines` : `1.8.1` -> `1.9.0`
* `Compose` : `1.7.0-alpha03` -> `1.7.0-beta02`
* `Koin` : `3.5.6` -> `4.0.0`
* `Okio` : `3.9.0` -> `3.9.1`
* `AndroidFragment` : `1.8.2` -> `1.8.3`
* `androidx.compose.material3:material3` has been replaced with `org.jetbrains.compose.material3:material3`
2024-09-20 13:14:50 +06:00
* `Common` :
* `JS` :
* Add several useful extensions
* `Compose` :
* `JS` :
* Add several useful extensions
2024-09-20 12:44:10 +06:00
2024-08-30 20:46:07 +06:00
## 0.22.2
2024-08-30 20:48:34 +06:00
* `Versions` :
* `Exposed` : `0.53.0` -> `0.54.0`
* `SQLite` : `3.46.0.1` -> `3.46.1.0`
2024-08-29 14:14:20 +06:00
## 0.22.1
2024-08-29 14:49:29 +06:00
* `Versions` :
* `Kotlin` : `2.0.10` -> `2.0.20`
* `Serialization` : `1.7.1` -> `1.7.2`
* `KSLog` : `1.3.5` -> `1.3.6`
* `Compose` : `1.7.0-alpha02` -> `1.7.0-alpha03`
* `Ktor` : `2.3.11` -> `2.3.12`
2024-07-31 00:04:38 +06:00
## 0.22.0
2024-08-11 16:43:51 +06:00
**THIS UPDATE CONTAINS BREAKING CHANGES ACCORDING TO UPDATE UP TO KOTLIN 2.0**
* `Versions` :
* `Kotlin` : `1.9.23` -> `2.0.10`
* `Serialization` : `1.6.3` -> `1.7.1`
* `KSLog` : `1.3.4` -> `1.3.5`
* `Compose` : `1.6.2` -> `1.7.0-alpha02`
* `Exposed` : `0.50.1` -> `0.53.0`
* `AndroidAppCompat` : `1.6.1` -> `1.7.0`
* `AndroidFragment` : `1.7.1` -> `1.8.2`
2024-07-26 16:40:30 +06:00
## 0.21.6
2024-07-26 17:17:11 +06:00
* `KSP` :
* `Sealed` :
* Fixes in generation
2024-07-24 00:06:18 +06:00
## 0.21.5
2024-07-25 02:30:10 +06:00
* `KSP` :
* Add utility functions `KSClassDeclaration.findSubClasses`
* `Sealed` :
* Improve generation
2024-07-16 14:02:36 +06:00
## 0.21.4
2024-07-16 14:16:08 +06:00
* `Common` :
* `Compose` :
* Add support of mingw, linux, arm64 targets
* `Coroutines` :
* `Compose` :
* Add support of mingw, linux, arm64 targets
2024-07-16 17:18:26 +06:00
* `Koin` :
* Add support of mingw, linux, arm64 targets
* `KSP` :
* `ClassCasts` :
* Add support of mingw, linux, arm64 targets
* `Sealed` :
* Add support of mingw, linux, arm64 targets
2024-07-16 14:16:08 +06:00
2024-07-15 08:05:08 +06:00
## 0.21.3
2024-07-15 08:13:23 +06:00
* `Colors` :
* Added as a module. It should be used by default in case you wish all the API currently realized for `HEXAColor`
2024-07-15 08:43:23 +06:00
* `Coroutines` :
* Fix of [#374 ](https://github.com/InsanusMokrassar/MicroUtils/issues/374 ):
* Add vararg variants of `awaitFirst`
* Add `joinFirst`
2024-07-15 08:13:23 +06:00
2024-06-30 20:40:12 +06:00
## 0.21.2
2024-06-30 20:56:54 +06:00
* `KSP` :
* `ClassCasts` :
* Module has been initialized
2024-06-25 22:03:30 +06:00
## 0.21.1
2024-06-25 22:04:25 +06:00
* `KSP` :
* Module has been initialized
* `Generator` :
* Module has been initialized
* `Sealed` :
* Module has been initialized
2024-06-20 01:53:42 +06:00
## 0.21.0
2024-06-15 17:32:15 +06:00
2024-06-19 19:36:02 +06:00
**THIS UPDATE CONTAINS BREAKING CHANGES IN `safely*` -ORIENTED FUNCTIONS**
* `Coroutines` :
* **All `safely` functions lost their `supervisorScope` in favor to wrapping `runCatching` **
* `runCatchingSafely` is the main handling function of all `safely` functions
* `launchSafely*` and `asyncSafely*` blocks lost `CoroutineScope` as their receiver
2024-06-14 16:36:35 +06:00
## 0.20.52
2024-06-14 17:09:04 +06:00
* `Coroutines` :
* Small rework of weak jobs: add `WeakScope` factory, rename old weal extensions and add kdocs
2024-05-26 19:46:36 +06:00
## 0.20.51
2024-05-26 23:00:11 +06:00
* `Versions` :
* `Android Fragment` : `1.7.0` -> `1.7.1`
2024-05-26 22:59:19 +06:00
* `Pagination` :
* Add `Pagination.nextPageIfTrue` and `Pagination.thisPageIftrue` extensions to get the page according to condition
pass status
* Add `PaginationResult.nextPageIfNotEmptyOrLastPage` and `PaginationResult.thisPageIfNotEmptyOrLastPage`
* Change all `doForAll` and `getAll` extensions fo pagination to work basing on `nextPageIfNotEmptyOrLastPage` and
`thisPageIfNotEmptyOrLastPage`
2024-05-12 17:01:22 +06:00
## 0.20.50
2024-05-12 21:51:20 +06:00
* `Versions` :
* `Coroutines` : `1.8.0` -> `1.8.1`
* `KSLog` : `1.3.3` -> `1.3.4`
* `Exposed` : `0.50.0` -> `0.50.1`
* `Ktor` : `2.3.10` -> `2.3.11`
* A lot of inline functions became common functions due to inline with only noinline callbacks in arguments leads to
low performance
* `Coroutines` :
* `SmartMutex` , `SmartSemaphore` and `SmartRWLocker` as their user changed their state flow to `SpecialMutableStateFlow`
2024-05-02 15:08:53 +06:00
## 0.20.49
2024-05-02 17:18:43 +06:00
* `Repos` :
* `Common` :
* All `Repo` s get `diff` extensions
* `KeyValueRepo` and `KeyValuesRepo` get `applyDiff` extension
2024-05-02 18:20:12 +06:00
* Add new extensions `on*` flows for crud repos
2024-05-02 17:18:43 +06:00
2024-05-02 13:58:12 +06:00
## 0.20.48
2024-05-02 14:06:46 +06:00
* `Versions` :
* `Android Core KTX` : `1.13.0` -> `1.13.1`
* `AndroidX Fragment` : `1.6.2` -> `1.7.0`
2024-05-01 17:47:02 +06:00
## 0.20.47
2024-05-01 17:47:47 +06:00
* `Versions` :
* `Exposed` : `0.49.0` -> `0.50.0`
2024-04-27 15:17:40 +06:00
## 0.20.46
2024-04-27 15:34:52 +06:00
* `Common` :
* Now this repo depends on `klock`
* Add new object-serializer `DateTimeSerializer` for `klock` serializer
2024-04-22 11:25:02 +06:00
## 0.20.45
2024-04-22 11:27:07 +06:00
* `Versions` :
* `Android Core KTX` : `1.12.0` -> `1.13.0`
2024-04-15 00:19:11 +06:00
## 0.20.44
2024-04-15 00:29:22 +06:00
* `Versions` :
* `Compose` : `1.6.1` -> `1.6.2`
* `Koin` : `3.5.4` -> `3.5.6`
2024-04-08 21:53:43 +06:00
## 0.20.43
2024-04-08 21:56:02 +06:00
* `Versions` :
* `Ktor` : `2.3.9` -> `2.3.10`
* `Koin` : `3.5.3` -> `3.5.4`
2024-04-04 19:28:11 +06:00
## 0.20.42
2024-04-04 19:28:59 +06:00
* `Repos` :
* `Generator` :
* Improvements
2024-04-01 18:12:25 +06:00
## 0.20.41
2024-04-01 18:20:05 +06:00
* `Repos` :
* `Exposed` :
* `AbstractExposedKeyValueRepo` , `ExposedKeyValueRepo` , `AbstractExposedKeyValuesRepo` , `ExposedKeyValuesRepo` got opportunity to setup some part of their flows
2024-03-29 20:03:36 +06:00
## 0.20.40
2024-03-31 12:48:55 +06:00
* `Versions` :
* `KSLog` : `1.3.2` -> `1.3.3`
* `Exposed` : `0.48.0` -> `0.49.0`
* `UUID` : `0.8.2` -> `0.8.4`
2024-03-14 21:05:23 +06:00
## 0.20.39
* `Versions` :
* `Kotlin` : `1.9.22` -> `1.9.23`
* `Korlibs` : `5.3.2` -> `5.4.0`
* `Okio` : `3.8.0` -> `3.9.0`
* `Compose` : `1.6.0` -> `1.6.1`
* `ComposeMaterial3` : `1.2.0` -> `1.2.1`
2024-03-06 01:50:34 +06:00
## 0.20.38
2024-03-06 01:51:48 +06:00
* `Versions` :
* `Ktor` : `2.3.8` -> `2.3.9`
2024-03-01 03:06:26 +06:00
## 0.20.37
2024-03-01 03:15:25 +06:00
* `Versions` :
* `Compose` : `1.5.12` -> `1.6.0`
* `Exposed` : `0.47.0` -> `0.48.0`
2024-02-20 22:52:02 +06:00
## 0.20.36
2024-02-26 16:55:18 +06:00
* `Versions` :
* `Serialization` : `1.6.2` -> `1.6.3`
* `Korlibs` : `5.3.1` -> `5.3.2`
2024-02-21 00:05:57 +06:00
* `Repos` :
* `Cache` :
* Improve work and functionality of `actualizeAll` and subsequent functions
* All internal repos `invalidate` /`actualizeAll` now use common `actualizeAll` functions
2024-02-16 18:50:35 +06:00
## 0.20.35
2024-02-16 19:01:46 +06:00
* `Versions` :
* `Coroutines` : `1.7.3` -> `1.8.0`
* `Material3` : `1.1.2` -> `1.2.0`
2024-02-15 15:14:38 +06:00
## 0.20.34
2024-02-15 15:36:32 +06:00
* `Repos` :
* `Common` :
* Improve default `set` realization of `KeyValuesRepo`
2024-02-12 13:32:30 +06:00
## 0.20.33
2024-02-12 13:58:06 +06:00
* `Colors`
* `Common` :
* Add opportunity to use `HEXAColor` with `ahex` colors
2024-02-06 19:55:34 +06:00
## 0.20.32
2024-02-10 15:40:59 +06:00
* `Versions` :
* `Okio` : `3.7.0` -> `3.8.0`
2024-02-06 19:56:44 +06:00
* `Resources` :
* Make `StringResource` serializable
* Add several variants of builder usages
2024-01-31 17:36:30 +06:00
## 0.20.31
2024-01-31 17:37:27 +06:00
* `Versions` :
* `Ktor` : `2.3.7` -> `2.3.8`
2024-01-31 17:04:38 +06:00
## 0.20.30
2024-01-31 17:05:43 +06:00
* `Versions` :
* `Exposed` : `0.46.0` -> `0.47.0`
2024-01-30 20:21:45 +06:00
## 0.20.29
2024-01-30 21:18:49 +06:00
* `Versions` :
* `Kotlin` : `1.9.21` -> `1.9.22`
* `Compose` : `1.5.11` -> `1.5.12`
* `Korlibs` : `5.3.0` -> `5.3.1`
2024-01-18 23:12:36 +06:00
## 0.20.28
2024-01-18 23:19:17 +06:00
* `Versions` :
* `Kotlin` : `1.9.22` -> `1.9.21` (downgrade)
* `Compose` : `1.6.0-dev13691` -> `1.5.11` (downgrade)
2024-01-16 12:13:07 +06:00
## 0.20.27
2024-01-16 12:19:30 +06:00
* `Versions` :
* `Kotlin` : `1.9.21` -> `1.9.22`
* `Compose` : `1.5.11` -> `1.6.0-dev13691`
2024-01-11 23:00:14 +06:00
## 0.20.26
2024-01-11 23:09:17 +06:00
* `Versions` :
* `Exposed` : `0.45.0` -> `0.46.0` . **This update brinds new api deprecations in exposed**
2024-01-11 23:01:10 +06:00
* `Resources` :
* Add opportunity to get default translation by passing `null` as `IetfLang` argument
* Add several useful extensions to get translations in `JS` target
2024-01-04 18:14:09 +06:00
## 0.20.25
2024-01-04 19:53:43 +06:00
* `Colors` :
* `Common` :
* Module inited
2023-12-31 13:38:57 +06:00
## 0.20.24
2024-01-04 09:58:03 +06:00
**Since this version depdendencies of klock and krypto replaced with `com.soywiz.korge:korlibs-time` and `com.soywiz.korge:korlibs-crypto` **
* `Versions` :
* `Klock` (since now `KorlibsTime` ): `4.0.10` -> `5.3.0`
* `Krypto` (since now `KorlibsCrypto` ): `4.0.10` -> `5.3.0`
2023-12-31 13:44:33 +06:00
* `Serialization` :
* `Mapper` :
* `Mapper` pass decoder into callback of deserialization strategy
2024-01-04 10:25:50 +06:00
* `Mapper` pass encoder into callback of serialization strategy
2023-12-31 13:44:33 +06:00
2023-12-17 22:30:25 +06:00
## 0.20.23
2023-12-21 23:25:36 +06:00
* `Versions` :
* `Koin` : `3.5.0` -> `3.5.3`
* `Okio` : `3.6.0` -> `3.7.0`
2023-12-21 15:41:11 +06:00
* `LanguageCodes` :
* Fixes in intermediate language codes (like `Chinese.Hans` )
* Rename `IetfLanguageCode` to `IetfLang`
* Rename all subsequent functions (including serializer)
* New lazy properties `knownLanguageCodesMap` , `knownLanguageCodesMapByLowerCasedKeys` and several others
2023-12-14 23:52:28 +06:00
## 0.20.22
2023-12-14 23:56:56 +06:00
* `Common` :
* Add opportunity to create own `Diff` with base constructor
2023-12-12 20:21:37 +06:00
## 0.20.21
2023-12-12 20:58:08 +06:00
* `Resources` :
* Inited
2023-12-11 23:54:25 +06:00
## 0.20.20
2023-12-12 00:01:58 +06:00
* `Repos` :
* `Exposed` :
* Add opportunity for setup flows in `AbstractExposedCRUDRepo`
2023-12-08 15:56:44 +06:00
## 0.20.19
2023-12-08 15:58:16 +06:00
* `Versions` :
* `Ktor` : `2.3.6` -> `2.3.7`
2023-12-04 15:01:42 +06:00
## 0.20.18
2023-12-04 15:08:52 +06:00
* `Coroutines` :
2023-12-04 15:37:02 +06:00
* `SpecialMutableStateFlow` now extends `MutableStateFlow`
2023-12-04 15:08:52 +06:00
* `Compose` :
* Deprecate `FlowState` due to its complexity in fixes
2023-12-01 02:44:44 +06:00
## 0.20.17
2023-12-01 02:46:15 +06:00
* `Versions` :
* `Serialization` : `1.6.1` -> `1.6.2`
2023-11-29 17:12:37 +06:00
## 0.20.16
2023-11-30 01:54:04 +06:00
* `Versions` :
* `Exposed` : `0.44.1` -> `0.45.0`
2023-11-29 17:13:21 +06:00
* `Coroutines` :
2023-11-30 01:54:04 +06:00
* Add `SpecialMutableStateFlow`
* `Compose` :
* Add `FlowState`
2023-11-29 17:13:21 +06:00
2023-11-24 16:46:22 +06:00
## 0.20.15
2023-11-24 16:58:50 +06:00
* `Versions` :
* `Kotlin` : `1.9.20` -> `1.9.21`
* `KSLog` : `1.3.0` -> `1.3.1`
* `Compose` : `1.5.10` -> `1.5.11`
2023-11-18 15:37:19 +06:00
## 0.20.14
2023-11-18 15:40:12 +06:00
* `Versions` :
* `Serialization` : `1.6.0` -> `1.6.1`
2023-11-18 18:11:07 +06:00
* `KSLog` : `1.2.4` -> `1.3.0`
2023-11-18 15:40:12 +06:00
2023-11-06 21:12:28 +06:00
## 0.20.13
2023-11-11 16:30:59 +06:00
* `Versions` :
* `Ktor` : `2.3.5` -> `2.3.6`
* `UUID` : `0.8.1` -> `0.8.2`
2023-11-02 18:26:15 +06:00
## 0.20.12
2023-11-02 19:00:35 +06:00
**It is experimental migration onto new gradle version. Be careful in use of this version**
**This update have JDK 17 in `compatibility` and `target` versions**
2023-10-26 12:28:04 +06:00
## 0.20.11
2023-11-01 12:37:30 +06:00
* `Versions` :
* `Kotlin` : `1.9.20-RC2` -> `1.9.20`
* `Exposed` : `0.44.0` -> `0.44.1`
* `Compose` : `1.5.10-rc02` -> `1.5.10`
2023-10-26 12:28:24 +06:00
* `Coroutines` :
2023-11-01 12:37:30 +06:00
* `SmartRWLocker` now will wait first unlock of write mutex for acquiring read
2023-10-26 12:28:24 +06:00
2023-10-26 10:37:01 +06:00
## 0.20.10
2023-10-26 10:48:36 +06:00
* `Versions` :
* `Kotlin` : `1.9.20-RC` -> `1.9.20-RC1`
* `KSLog` : `1.2.1` -> `1.2.2`
* `Compose` : `1.5.10-rc01` -> `1.5.10-rc02`
* `RecyclerView` : `1.3.1` -> `1.3.2`
2023-10-17 23:34:53 +06:00
## 0.20.9
2023-10-20 21:53:27 +06:00
* Most of common modules now supports `linuxArm64` target
2023-10-14 16:08:51 +06:00
## 0.20.8
2023-10-14 16:22:00 +06:00
**THIS VERSION CONTAINS UPDATES OF DEPENDENCIES UP TO RC VERSIONS. USE WITH CAUTION**
* `Versions` :
* `Kotlin` : `1.9.20-Beta2` -> `1.9.20-RC`
* `Compose` : `1.5.10-beta02` -> `1.5.10-rc01`
2020-09-30 15:47:45 +06:00
2023-09-10 17:09:08 +06:00
## 0.20.7
2023-10-09 13:58:17 +06:00
**THIS VERSION CONTAINS UPDATES OF DEPENDENCIES UP TO BETA VERSIONS. USE WITH CAUTION**
* `Versions` :
* `Kotlin` : `1.9.10` -> `1.9.20-Beta2`
* `Compose` : `1.5.1` -> `1.5.10-beta02`
* `Exposed` : `0.43.0` -> `0.44.0`
* `Ktor` : `2.3.4` -> `2.3.5`
* `Koin` : `3.4.3` -> `3.5.0`
* `Okio` : `3.5.0` -> `3.6.0`
* `Android Core` : `1.10.1` -> `1.12.0`
* `Android Compose Material` : `1.1.1` -> `1.1.2`
2023-09-08 02:55:25 +06:00
## 0.20.6
2023-09-08 02:59:53 +06:00
* `Repos` :
* `Exposed`
* Fixes in exposed key-values repos
2023-09-07 16:57:08 +06:00
## 0.20.5
2023-09-07 16:57:59 +06:00
* `Coroutines` :
* Fixes in `SmartRWLocker`
2023-09-06 18:55:48 +06:00
## 0.20.4
2023-09-06 18:58:10 +06:00
* `Versions` :
* `Kotlin` : `1.9.0` -> `1.9.10`
2023-09-06 19:08:32 +06:00
* `KSLog` : `1.2.0` -> `1.2.1`
2023-09-06 18:58:10 +06:00
* `Compose` : `1.5.0` -> `1.5.1`
* `UUID` : `0.8.0` -> `0.8.1`
2023-08-29 14:59:57 +06:00
## 0.20.3
2023-08-31 01:37:35 +06:00
* `Versions` :
* `Compose` : `1.4.3` -> `1.5.0`
* `Exposed` : `0.42.1` -> `0.43.0`
2023-09-01 19:38:37 +06:00
* `Ktor` : `2.3.3` -> `2.3.4`
2023-08-29 15:06:55 +06:00
* `Repos` :
* `Cache` :
* Fixes in locks of caches
2023-08-23 03:26:54 +06:00
## 0.20.2
* All main repos uses `SmartRWLocker`
2023-08-24 03:00:08 +06:00
* `Versions` :
* `Serialization` : `1.5.1` -> `1.6.0`
* `Exposed` : `0.42.0` -> `0.42.1`
2023-08-24 14:29:07 +06:00
* `Korlibs` : `4.0.9` -> `4.0.10`
2023-08-24 03:00:08 +06:00
* `Androis SDK` : `33` -> `34`
2023-08-23 03:26:54 +06:00
2023-08-11 00:58:09 +06:00
## 0.20.1
2023-08-11 01:51:40 +06:00
* `SmallTextField` :
* Module is initialized
* `Pickers` :
* Module is initialized
2023-08-12 22:08:12 +06:00
* `Coroutines` :
* Add `SmartSemaphore`
* Add `SmartRWLocker`
2023-08-11 01:51:40 +06:00
2023-08-02 13:03:40 +06:00
## 0.20.0
2023-08-09 02:42:28 +06:00
* `Versions` :
* `Kotlin` : `1.8.22` -> `1.9.0`
* `KSLog` : `1.1.1` -> `1.2.0`
* `Exposed` : `0.41.1` -> `0.42.0`
* `UUID` : `0.7.1` -> `0.8.0`
* `Korlibs` : `4.0.3` -> `4.0.9`
* `Ktor` : `2.3.2` -> `2.3.3`
2023-08-09 02:43:53 +06:00
* `Okio` : `3.4.0` -> `3.5.0`
2023-08-09 02:42:28 +06:00
2023-07-29 16:05:24 +06:00
## 0.19.9
2023-07-29 16:37:25 +06:00
* `Versions` :
* `Koin` : `3.4.2` -> `3.4.3`
2023-07-29 16:31:50 +06:00
* `Startup` :
* Now it is possible to start application in synchronous way
2023-07-23 13:26:39 +06:00
## 0.19.8
2023-07-27 00:30:26 +06:00
* `Versions` :
* `Coroutines` : `1.7.2` -> `1.7.3`
* `Kotlin` : `1.8.20` -> `1.8.22`
* `Compose` : `1.4.1` -> `1.4.3`
* `Okio` : `3.3.0` -> `3.4.0`
* `RecyclerView` : `1.3.0` -> `1.3.1`
* `Fragment` : `1.6.0` -> `1.6.1`
2023-07-23 13:47:20 +06:00
* `Repos` :
* Fixes In `KeyValueRepo.clear()` of almost all inheritors of `KeyValueRepo`
2023-07-27 00:35:01 +06:00
* `Cache` :
* All full caches got `skipStartInvalidate` property. By default, this property is `false` and fully caching repos
will be automatically invalidated on start of their work
2023-07-23 13:47:20 +06:00
2023-06-30 12:03:17 +06:00
## 0.19.7
* `Versions` :
2023-06-30 12:04:42 +06:00
* `Coroutines` : `1.7.1` -> `1.7.2`
2023-06-30 12:03:17 +06:00
2023-06-27 16:46:45 +06:00
## 0.19.6
2023-06-27 16:53:10 +06:00
* `Versions` :
2023-06-30 12:04:42 +06:00
* `Coroutines` : `1.6.4` -> `1.7.1`
* `Ktor` : `2.3.1` -> `2.3.2`
* `Compose` : `1.4.0` -> `1.4.1`
2023-06-27 16:53:10 +06:00
2023-06-20 20:16:24 +06:00
## 0.19.5
2023-06-20 20:20:47 +06:00
* `Repos` :
* `Generator` :
* Fixes in new type generation
2023-06-19 13:45:29 +06:00
## 0.19.4
2023-06-19 16:19:14 +06:00
* `Versions` :
* `Koin` : `3.4.1` -> `3.4.2`
* `Android Fragments` : `1.5.7` -> `1.6.0`
2023-06-19 13:52:41 +06:00
* `Koin`
* `Generator`
* Fixes in new generic generator part
2023-06-18 23:11:42 +06:00
## 0.19.3
2023-06-18 23:38:36 +06:00
* `Koin`
* `Generator`
* New getter methods now available with opportunity to use parameters
* Old notation `*Single` and `*Factory` is deprecated since this release. With old
will be generated new `single*` and `factory*` notations for new generations
2023-06-19 00:32:45 +06:00
* Add opportunity to use generic-oriented koin definitions
2023-06-18 23:38:36 +06:00
2023-06-02 12:11:43 +06:00
## 0.19.2
2023-06-02 12:17:21 +06:00
* `Versions` :
* `Ktor` : `2.3.0` -> `2.3.1`
* `Koin` : `3.4.0` -> `3.4.1`
2023-06-02 12:47:45 +06:00
* `Uuid` : `0.7.0` -> `0.7.1`
2023-06-02 12:17:21 +06:00
2023-05-29 17:27:57 +06:00
## 0.19.1
* `Versions` :
* `Korlibs` : `4.0.1` -> `4.0.3`
2023-05-29 17:31:40 +06:00
* `Kotlin Poet` : `1.13.2` -> `1.14.0`
2023-05-29 17:27:57 +06:00
2023-05-25 20:58:05 +06:00
## 0.19.0
2023-05-25 21:08:12 +06:00
* `Versions` :
2023-05-29 17:27:57 +06:00
* `Korlibs` : `3.4.0` -> `4.0.1`
2023-05-25 21:08:12 +06:00
2023-05-14 16:28:03 +06:00
## 0.18.4
2023-05-14 16:36:24 +06:00
* `Koin` :
* New extension `lazyInject`
2023-05-12 00:26:16 +06:00
## 0.18.3
2023-05-12 00:51:38 +06:00
* `Versions` :
* `Serialization` : `1.5.0` -> `1.5.1`
* `Android Cor Ktx` : `1.10.0` -> `1.10.1`
2023-05-09 01:38:04 +06:00
## 0.18.2
* `Startup` :
* Now internal `Json` is fully customizable
2023-05-03 23:47:05 +06:00
## 0.18.1
2023-05-04 21:12:26 +06:00
* `Common` :
* Add `MapDiff`
2023-05-03 23:47:05 +06:00
* `Coroutines` :
* Add `SmartMutex`
2023-04-25 12:23:08 +06:00
## 0.18.0
2023-04-27 16:29:08 +06:00
**ALL PREVIOUSLY DEPRECATED FUNCTIONALITY HAVE BEEN REMOVED**
2023-04-27 12:16:48 +06:00
* `Versions` :
* `Android Fragments` : `1.5.6` -> `1.5.7`
2023-04-25 13:14:12 +06:00
* `Ktor` :
* `Server` :
* Now it is possible to take query parameters as list
2023-04-25 17:23:47 +06:00
* `Repos` :
2023-04-25 19:14:38 +06:00
* `Common` :
* New `WriteKeyValuesRepo.removeWithValue`
2023-04-25 17:23:47 +06:00
* `Cache` :
* Rename full caching factories functions to `fullyCached`
2023-04-25 13:14:12 +06:00
2023-04-19 19:45:58 +06:00
## 0.17.8
2023-04-19 19:46:39 +06:00
* `Versions` :
* `Ktor` : `2.2.4` -> `2.3.0`
2023-04-18 19:09:40 +06:00
## 0.17.7
2023-04-18 19:24:05 +06:00
* `Versions` :
* `Android CoreKtx` : `1.9.0` -> `1.10.0`
2023-04-18 19:19:38 +06:00
* `Startup` :
* Add support of `linuxX64` and `mingwX64` platforms
2023-04-03 22:54:57 +06:00
## 0.17.6
2023-04-13 11:20:34 +06:00
* `Versions` :
* `Kotlin` : `1.8.10` -> `1.8.20`
* `KSLog` : `1.0.0` -> `1.1.1`
* `Compose` : `1.3.1` -> `1.4.0`
* `Koin` : `3.3.2` -> `3.4.0`
* `RecyclerView` : `1.2.1` -> `1.3.0`
* `Fragment` : `1.5.5` -> `1.5.6`
* Experimentally (`!!!` ) add `linuxX64` and `mingwX64` targets
2023-03-10 15:36:30 +06:00
## 0.17.5
2023-03-10 15:45:02 +06:00
* `Common` :
* Conversations of number primitives with bounds care
* `Repos` :
* `Common` :
* By default, `getAll` for repos will take all the size of repo as page size
2023-03-10 18:37:48 +06:00
* New extension for all built-in repos `maxPagePagination`
* All the repos got `getAll` functions
2023-03-10 15:45:02 +06:00
2023-03-09 21:49:15 +06:00
## 0.17.4
2023-03-09 21:55:07 +06:00
* `Serialization` :
* `Mapper` :
* Module inited
2023-03-09 23:22:33 +06:00
* `Versions` :
* `Compose` : `1.3.1-rc02` -> `1.3.1`
2023-03-09 21:55:07 +06:00
2023-03-07 18:59:34 +06:00
## 0.17.3
2023-03-07 19:12:12 +06:00
* `Common` :
2023-03-07 22:28:56 +06:00
* Add `fixed` extensions for `Float` and `Double`
2023-03-07 19:12:12 +06:00
* New function `emptyDiff`
* Now you may pass custom `comparisonFun` to all `diff` functions
2023-03-02 21:38:20 +06:00
## 0.17.2
* `FSM` :
* `DefaultStatesManager.onUpdateContextsConflictResolver` and `DefaultStatesManager.onStartContextsConflictResolver` now return `false` by default
2023-02-28 19:04:04 +06:00
## 0.17.1
2023-02-28 19:32:32 +06:00
* **Hotfix** for absence of jvm dependencies in android modules
* `Versions` :
* `Ktor` : `2.2.3` -> `2.2.4`
2023-02-27 15:54:37 +06:00
## 0.17.0
2023-02-27 22:45:35 +06:00
* `Versions` :
* `Kotlin` : `1.7.20` -> `1.8.10`
* `Serialization` : `1.4.1` -> `1.5.0`
* `KSLog` : `0.5.4` -> `1.0.0`
* `AppCompat` : `1.6.0` -> `1.6.1`
2023-02-25 18:44:07 +06:00
## 0.16.13
2023-02-25 19:56:12 +06:00
* `Repos` :
* `Generator` :
* Module has been created
2023-02-20 11:54:26 +06:00
## 0.16.12
2023-02-20 11:55:14 +06:00
* `Repos` :
* `Exposed` :
* `CommonExposedRepo.selectByIds` uses `foldRight` by default instead of raw foreach
2023-02-22 10:20:15 +06:00
* `Koin` :
* `Generator` :
* Module has been created
2023-02-20 11:55:14 +06:00
2023-02-19 19:20:03 +06:00
## 0.16.11
2023-02-19 19:34:42 +06:00
* `LanguageCodes` :
* In android and JVM targets now available `toJavaLocale` and from Java `Locale` conversations from/to
`IetfLanguageCode`
2023-02-15 20:14:55 +06:00
## 0.16.10
2023-02-15 20:16:54 +06:00
* `Repos` :
* `Cache` :
* New transformer type: `ReadCRUDFromKeyValueRepo`
2023-02-17 13:45:22 +06:00
* New transformer type: `ReadKeyValueFromCRUDRepo`
* `Pagination` :
* New `paginate` extensions with `reversed` support for `List` /`Set`
2023-02-15 20:16:54 +06:00
2023-02-05 17:45:45 +06:00
## 0.16.9
2023-02-13 16:09:44 +06:00
* `Versions` :
* `Koin` : `3.2.2` -> `3.3.2`
* `AppCompat` : `1.5.1` -> `1.6.0`
2023-02-10 15:14:03 +06:00
* `Ktor` :
* `Client`
* `HttpResponse.bodyOrNull` now retrieve callback to check if body should be received or null
2023-02-10 15:17:08 +06:00
* New extension `HttpResponse.bodyOrNullOnNoContent`
2023-02-10 15:14:03 +06:00
2023-01-29 20:34:27 +06:00
## 0.16.8
2023-02-04 01:39:49 +06:00
* `Versions` :
* `Ktor` : `2.2.2` -> `2.2.3`
* `Ktor` :
* `Client`
* Fixes in `HttpClient.uniUpload`
* `Server`
* Fixes in `PartData.FileItem.download`
2023-01-29 20:34:27 +06:00
* `Repos` :
* `Cache` :
2023-02-04 01:39:49 +06:00
* New type of caches: `FallbackCacheRepo`
2023-01-29 20:34:27 +06:00
* Fixes in `Write*` variants of cached repos
2023-02-04 01:39:49 +06:00
* New type `ActionWrapper`
* New `AutoRecache*` classes for all types of repos as `FallbackCacheRepo` s
* `Common` :
* New transformations for key-value and key-values vice-verse
* Fixes in `FileReadKeyValueRepo`
2023-01-29 20:34:27 +06:00
2023-01-19 20:19:21 +06:00
## 0.16.7
2023-01-26 22:54:17 +06:00
* `Common` :
* New extensions `ifTrue` /`ifFalse` /`alsoIfTrue` /`alsoIfFalse` /`letIfTrue` /`letIfFalse`
* `Diff` now is serializable
* Add `IndexedValue` serializer
* `repeatOnFailure` extending: now you may pass any lambda to check if continue to try/do something
2023-01-29 12:46:27 +06:00
* `Compose` :
* New extension `MutableState.asState`
2023-01-26 22:54:17 +06:00
* `Coroutines` :
* `Compose` :
2023-01-29 13:08:41 +06:00
* All the `Flow` conversations to compose `State` /`MutableState` /`SnapshotStateList` /`List` got several new
parameters
* `Flow.toMutableState` now is deprecated in favor to `asMutableComposeState`
* `Repos` :
* `Cache` :
* New type `FullCacheRepo`
* New type `CommonCacheRepo`
* `CacheRepo` got `invalidate` method. It will fully reload `FullCacheRepo` and just clear `CommonCacheRepo`
* New extensions `KVCache.actualizeAll`
2023-01-26 22:54:17 +06:00
2023-01-08 13:51:34 +06:00
## 0.16.6
2023-01-08 13:52:53 +06:00
* `Startup` :
* `Launcher` :
* Improvements in `StartLauncherPlugin#start` methods
2023-01-14 13:22:07 +06:00
* Add opportunity to pass second argument on `JVM` platform as log level
2023-01-14 13:15:59 +06:00
* `Repos` :
* `Ktor` :
* `Client` :
* All clients repos got opportunity to customize their flows
2023-01-14 20:17:57 +06:00
* `Exposed` :
* Extensions `eqOrIsNull` and `neqOrIsNotNull` for `Column`
2023-01-08 13:52:53 +06:00
2023-01-04 20:20:25 +06:00
## 0.16.5
* `Versions` :
* `Ktor` : `2.2.1` -> `2.2.2`
2022-12-27 18:49:04 +06:00
## 0.16.4
2022-12-27 09:28:37 +06:00
* `Coroutines` :
* Create `launchInCurrentThread`
2022-12-27 18:51:01 +06:00
## 0.16.3
2022-12-25 10:26:44 +06:00
* `Startup` :
* `Launcher` :
* All starting API have been moved into `StartLauncherPlugin` and do not require serialize/deserialize cycle for now
2022-12-14 21:40:18 +06:00
## 0.16.2
2022-12-15 08:51:53 +06:00
* `Versions` :
* `Compose` : `1.2.1` -> `1.2.2`
2022-12-16 13:59:24 +06:00
* `Startup` :
* Module become available on `JS` target
2022-12-15 08:51:53 +06:00
2022-12-09 10:52:53 +06:00
## 0.16.1
2022-12-09 19:46:58 +06:00
* `Coroutines` :
* New `runCatchingSafely` /`safelyWithResult` with receivers
* `SafeWrapper` :
* Module inited
2022-12-08 09:26:59 +06:00
## 0.16.0
* `Versions` :
* `Ktor` : `2.1.3` -> `2.2.1`
* `Android Fragment` : `1.5.3` -> `1.5.5`
2022-12-05 20:04:50 +06:00
## 0.15.1
2022-12-06 13:15:08 +06:00
* `Startup` :
* Inited :)
* `Plugin` :
* Inited :)
* `Launcher` :
* Inited :)
2022-12-02 13:31:11 +06:00
## 0.15.0
2022-12-02 13:04:44 +06:00
2022-12-02 13:46:06 +06:00
* `Repos` :
* `CRUD` :
* `Common` :
* New method `ReadCRUDRepo#getIdsByPagination`
* `Android` :
* `AbstractAndroidCRUDRepo` got new abstract method `toId`
* `Exposed` :
* `CommonExposedRepo` new abstract property `asId`
* `Ktor` :
* `Client` :
* `KtorReadCRUDRepoClient` now requires `paginationIdType`
2022-12-02 21:01:11 +06:00
* `LanguageCodes` :
* Updates and fixes in generation
* `MimeTypes` :
* Updates and fixes in generation
2022-12-02 13:46:06 +06:00
2022-11-26 12:12:01 +06:00
## 0.14.4
2022-11-27 14:44:03 +06:00
* `Common` :
* `JVM` :
* New extension `downloadToTempFile`
2022-11-26 12:12:01 +06:00
* `Ktor` :
* `Server` :
* Small fix in `handleUniUpload`
2022-11-27 14:38:35 +06:00
* `ApplicationCall#uniloadMultipartFile` now uses `uniloadMultipart`
2022-11-27 14:44:03 +06:00
* `Common` :
* New extension `downloadToTempFile`
2022-11-27 14:38:35 +06:00
* `Client` :
* New extensions on top of `uniUpload`
2022-11-26 12:12:01 +06:00
2022-11-21 12:49:04 +06:00
## 0.14.3
2022-11-22 13:38:36 +06:00
* `Common` :
* New type `Progress`
* `Ktor` :
* `Client` :
* New universal `uniUpload` extension for `HttpClient`
* `Server` :
* New universal `handleUniUpload` extension for `ApplicationCall`
2022-11-24 11:27:30 +06:00
* Add extensions `download` and `downloadToTemporalFile`
2022-11-22 13:38:36 +06:00
2022-11-15 10:01:58 +06:00
## 0.14.2
* `Versions` :
* `Exposed` : `0.40.1` -> `0.41.1`
2022-11-10 17:06:20 +06:00
## 0.14.1
* `Versions` :
* `Klock` : `3.3.1` -> `3.4.0`
* `UUID` : `0.5.0` -> `0.6.0`
2022-11-08 08:00:18 +06:00
## 0.14.0
2022-11-08 14:19:48 +06:00
**ALL DEPRECATIONS HAVE BEEN REMOVED**
2022-11-08 14:13:36 +06:00
* `Versions` :
* `Kotlin` : `1.7.10` -> `1.7.20`
* `Klock` : `3.3.0` -> `3.3.1`
* `Compose` : `1.2.0` -> `1.2.1`
* `Exposed` : `0.39.2` -> `0.40.1`
2022-10-22 14:14:12 +06:00
## 0.13.2
2022-10-30 21:45:19 +06:00
* `Versions` :
* `Klock` : `3.1.0` -> `3.3.0`
* `Ktor` : `2.1.2` -> `2.1.3`
2022-10-17 14:35:16 +06:00
## 0.13.1
2022-10-17 14:42:53 +06:00
* `Repos` :
* `Exposed` :
* `AbstractExposedWriteCRUDRepo#createAndInsertId` now is optional and returns nullable value
2022-10-11 12:07:49 +06:00
## 0.13.0
2022-10-04 15:36:43 +06:00
2022-10-11 12:58:29 +06:00
**ALL DEPRECATIONS HAVE BEEN REMOVED**
2022-10-11 13:24:39 +06:00
**A LOT OF KTOR METHODS RELATED TO UnifierRouter/UnifiedRequester HAVE BEEN REMOVED**
2022-10-11 12:58:29 +06:00
2022-10-11 12:55:25 +06:00
* `Repos` :
* `Exposed` :
* `AbstractExposedWriteCRUDRepo` got two new methods: `update` with `it` as `UpdateBuilder<Int>` and `createAndInsertId`
* Old `update` method has been deprecated and not recommended to override anymore in realizations
* Old `insert` method now is `open` instead of `abstract` and can be omitted
* `AbstractExposedKeyValueRepo` got two new methods: `update` with `it` as `UpdateBuilder<Int>` and `insertKey`
* Old `update` method has been deprecated and not recommended to override anymore
* Old `insert` method now is `open` instead of `abstract` and can be omitted in realizations
2022-10-01 21:56:47 +06:00
## 0.12.17
* `Versions` :
* `JB Compose` : `1.2.0-alpha01-dev774` -> `1.2.0-beta02`
* `Ktor` : `2.1.1` -> `2.1.2`
* `Koin` : `3.2.0` -> `3.2.2`
2022-09-26 00:47:32 +06:00
## 0.12.16
2022-09-26 01:02:12 +06:00
* `Coroutines` :
* `Android` :
* Add class `FlowOnHierarchyChangeListener`
* Add `ViewGroup#setOnHierarchyChangeListenerRecursively(OnHierarchyChangeListener)`
2022-09-23 12:12:15 +06:00
## 0.12.15
2022-09-23 16:05:32 +06:00
* `Common` :
* `applyDiff` will return `Diff` object since this release
2022-09-23 16:43:33 +06:00
* `Android` :
* New functions/extensions `findViewsByTag` and `findViewsByTagInActivity`
2022-09-23 12:33:00 +06:00
* `Coroutines` :
2022-09-23 12:41:07 +06:00
* Add `Flow` extensions `flatMap` , `flatMapNotNull` and `flatten`
* Add `Flow` extensions `takeNotNull` and `filterNotNull`
2022-09-23 12:33:00 +06:00
2022-09-21 17:53:57 +06:00
## 0.12.14
2022-09-22 21:51:40 +06:00
* `Versions` :
* `Android CoreKTX` : `1.8.0` -> `1.9.0`
* `Android AppCompat` : `1.4.2` -> `1.5.1`
* Android Compile SDK: 32 -> 33
* Android Build Tools: 32.0.0 -> 33.0.0
2022-09-22 23:39:08 +06:00
* `Common` :
* `Android` :
* Add `argumentOrNull` /`argumentOrThrow` delegates for fragments
2022-09-21 18:00:39 +06:00
* `Coroutines` :
* Rewrite `awaitFirstWithDeferred` onto `CompletableDeferred` instead of coroutines suspending
2022-09-14 21:42:29 +06:00
## 0.12.13
2022-09-14 22:32:00 +06:00
* `Coroutines` :
* Add opportunity to use markers in actors (solution of [#160 ](https://github.com/InsanusMokrassar/MicroUtils/issues/160 ))
2022-09-14 22:14:20 +06:00
* `Koin` :
* Module inited :)
2022-09-14 22:47:57 +06:00
* `Repos` :
* `Android` :
* Add typealias `KeyValueSPRepo` and opportunity to create shared preferences `KeyValue` repo with `KeyValueStore(...)` (fix of [#155 ](https://github.com/InsanusMokrassar/MicroUtils/issues/155 ))
2022-09-14 22:14:20 +06:00
2022-09-12 21:03:07 +06:00
## 0.12.12
2022-09-13 01:30:36 +06:00
* `Common` :
* `Compose` :
* `JS` :
* Add `SkeletonAnimation` stylesheet
2022-09-08 22:38:11 +06:00
## 0.12.11
* `Repos` :
* `Cache` :
* Override `KeyValue` cache method `values`
2022-09-07 23:45:59 +06:00
## 0.12.10
2022-09-07 23:47:13 +06:00
* `Repos` :
* `Cache` :
* Hotfix in key values `get`
2022-09-07 19:48:59 +06:00
## 0.12.9
2022-09-07 21:09:57 +06:00
* `Versions` :
* `Klock` : `3.0.0` -> `3.1.0`
2022-09-07 20:01:13 +06:00
* `Repos` :
* `Cache` :
* Fixes in key values cache
2022-09-06 21:15:01 +06:00
## 0.12.8
2022-09-07 00:56:48 +06:00
* `Versions` :
* `Ktor` : `2.1.0` -> `2.1.1`
* `Compose` : `1.2.0-alpha01-dev764` -> `1.2.0-alpha01-dev774`
2022-09-06 21:16:41 +06:00
* `Ktor` :
* `Client` :
* New extension `HttpClient#bodyOrNull` which returns `null` in case when server responded with `No Content` (204)
* `Server` :
* New extension `ApplicationCall#respondOrNoContent` which responds `No Content` (204) when passed data is null
2022-09-05 14:20:58 +06:00
## 0.12.7
2022-09-05 15:07:33 +06:00
* `Repos` :
* `Cache` :
* Force `WriteCRUDCacheRepo` to subscribe on new and updated objects of parent repo
* `Pagination` :
* New function `changeResultsUnchecked(Pagination)`
2022-08-31 02:59:29 +06:00
## 0.12.6
2022-08-31 03:01:06 +06:00
* `MimeeTypes>` :
* Fixed absence of `image/*` in known mime types
2022-08-30 15:17:09 +06:00
## 0.12.5
2022-08-30 17:37:59 +06:00
* `Repos` :
* `Exposed` :
* Fixes in `paginate` extensions
2022-08-23 12:55:52 +06:00
## 0.12.4
2022-08-23 12:57:16 +06:00
* `Versions` :
* `Kotlin` : `1.7.0` -> `1.7.10`
* `Compose` : `1.2.0-alpha01-dev755` -> `1.2.0-alpha01-dev764`
2022-08-22 00:02:34 +06:00
## 0.12.3
2022-08-22 01:11:09 +06:00
* `Repos` :
* `Exposed` :
* Add abstract exposed variants of `KeyValue` and `KeyValues` repos
* Add new extension `Query#selectPaginated`
2022-08-19 15:54:46 +06:00
## 0.12.2
* `Versions` :
* `Serialization` : `1.4.0-RC` -> `1.4.0`
* `Compose` : `1.2.0-alpha01-dev753` -> `1.2.0-alpha01-dev755`
2022-08-11 23:36:01 +06:00
## 0.12.1
* `Versions` :
* `Ktor` : `2.0.3` -> `2.1.0`
## 0.12.0
2022-08-04 10:14:52 +06:00
2022-08-04 10:59:04 +06:00
**OLD DEPRECATIONS HAVE BEEN REMOVED**
2022-08-04 12:50:36 +06:00
**MINIMAL ANDROID API HAS BEEN ENLARGED UP TO API 21 (Android 5.0)**
2022-08-04 10:14:52 +06:00
* `Versions`
* `Kotlin` : `1.6.21` -> `1.7.0`
* `Coroutines` : `1.6.3` -> `1.6.4`
* `Exposed` : `0.38.2` -> `0.39.2`
* `Compose` : `1.2.0-alpha01-dev729` -> `1.2.0-alpha01-dev753`
* `Klock` : `2.7.0` -> `3.0.0`
* `uuid` : `0.4.1` -> `0.5.0`
2022-08-04 12:50:36 +06:00
* `Android Core KTX` : `1.7.0` -> `1.8.0`
* `Android AppCompat` : `1.4.1` -> `1.4.2`
2022-08-04 10:59:04 +06:00
* `Ktor` :
* All previously standard functions related to work with binary data by default have been deprecated
2022-08-04 10:14:52 +06:00
2022-07-25 13:14:55 +06:00
## 0.11.14
2022-07-25 13:31:15 +06:00
* `Pagination` :
2022-07-26 14:58:28 +06:00
* `PaginationResult` got new field `objectsNumber` which by default is a times between `pagesNumber` and `size`
2022-07-25 13:31:15 +06:00
2022-07-22 16:31:33 +06:00
## 0.11.13
* `Versions` :
* `Coroutines` : `1.6.3` -> `1.6.4`
* `Compose` : `1.2.0-alpha01-dev629` -> `1.2.0-alpha01-dev731`
2022-07-02 02:26:58 +06:00
## 0.11.12
2022-07-02 02:28:43 +06:00
* `Repos` :
* `Common` :
* `JVM` :
* Fixes in `ReadFileKeyValueRepo` methods (`values` /`keys` )
2022-06-30 13:14:06 +06:00
## 0.11.11
2022-06-30 13:19:37 +06:00
* `Crypto` :
* `hmacSha256` has been deprecated
2022-06-30 13:15:19 +06:00
* `Ktor` :
* `Client` :
* `BodyPair` has been deprecated
2022-06-30 13:59:32 +06:00
* `Repos` :
* `Cache` :
* New interface `CacheRepo`
* New interface `FullCacheRepo`
* `actualize*` methods inside of full cache repos now open for overriding
2022-06-30 13:15:19 +06:00
2022-06-29 19:29:38 +06:00
## 0.11.10
2022-06-29 19:31:57 +06:00
* `Repos` :
* `Cache` :
* `KVCache` has been replaced to the package `dev.inmo.micro_utils.repos.cache`
* `SimpleKVCache` has been replaced to the package `dev.inmo.micro_utils.repos.cache`
2022-06-30 02:44:44 +06:00
* New `KVCache` subtype - `FullKVCache`
* Add `Full*` variants of standard repos
* Add `cached` /`caching` (for write repos) extensions for all standard types of repos
2022-06-29 19:31:57 +06:00
2022-06-28 23:01:32 +06:00
## 0.11.9
2022-06-28 22:57:21 +06:00
2022-06-28 23:06:09 +06:00
* `Versions`
* `Coroutines` : `1.6.1` -> `1.6.3`
* `Ktor` : `2.0.2` -> `2.0.3`
* `Compose` : `1.2.0-alpha01-dev686` -> `1.2.0-alpha01-dev729`
2022-06-28 14:12:12 +06:00
## 0.11.8
2022-06-28 14:13:04 +06:00
* `Repos` :
* `Common` :
* Fixes in `FileKeyValueRepo`
2022-06-27 23:35:10 +06:00
## 0.11.7
2022-06-28 00:56:51 +06:00
* `Common` :
* New abstractions `SimpleMapper` and `SimpleSuspendableMapper`
2022-06-28 00:19:25 +06:00
* `Repos` :
* `Common` :
2022-06-28 00:56:51 +06:00
* Add mappers for `CRUDRepo`
2022-06-28 00:19:25 +06:00
2022-06-23 17:19:07 +06:00
## 0.11.6
2022-06-23 18:47:59 +06:00
* `FSM` :
* `Common`
* Several fixes related to the jobs handling
2022-06-23 12:48:24 +06:00
## 0.11.5
2022-06-22 16:09:35 +06:00
2022-06-22 16:10:58 +06:00
* `Coroutines` :
* `Compose` :
2022-06-22 16:52:19 +06:00
* Add extension `StateFlow#asMutableComposeListState` and `StateFlow#asComposeList`
* Add extension `StateFlow#asMutableComposeState` /`StateFlow#asComposeState`
2022-06-22 16:09:52 +06:00
2022-06-23 12:49:09 +06:00
## 0.11.4
**THIS VERSION HAS BEEN BROKEN, DO NOT USE IT**
2022-06-14 19:35:17 +06:00
## 0.11.3
2022-06-14 23:48:10 +06:00
* `Ktor` :
* Support of `WebSockets` has been improved
* `Client` :
* New extensions: `HttpClient#openBaseWebSocketFlow` , `HttpClient#openWebSocketFlow` , `HttpClient#openSecureWebSocketFlow`
2022-06-13 22:19:33 +06:00
## 0.11.2
2022-06-13 23:20:25 +06:00
* `Ktor` :
* Support of `WebSockets` has been improved and added fixes inside of clients
2022-06-10 22:23:45 +06:00
## 0.11.1
2022-06-10 22:25:16 +06:00
* `Repos`
* `Ktor`
* In `configureReadKeyValueRepoRoutes` and `configureReadKeyValuesRepoRoutes` configurators fixed requiring of `reversed` property
2022-06-03 12:22:51 +06:00
## 0.11.0
2022-06-05 00:34:31 +06:00
* `Versions`
* `UUID` : `0.4.0` -> `0.4.1`
2022-06-04 00:22:36 +06:00
* `Ktor`
2022-06-05 00:34:31 +06:00
* `Client` :
* New extension fun `HttpResponse#throwOnUnsuccess`
* All old functions, classes and extensions has been rewritten with new ktor-way with types info and keeping `ContentNegotiation` in mind
* `Server` :
* All old functions, classes and extensions has been rewritten with new ktor-way with types info and keeping `ContentNegotiation` in mind
2022-06-04 00:22:36 +06:00
* `Repos`
* `Ktor` :
* Fully rewritten work with all declared repositories
2022-06-05 00:34:31 +06:00
* All old functions, classes and extensions has been rewritten with new ktor-way with types info and keeping `ContentNegotiation` in mind
2022-06-04 00:22:36 +06:00
2022-05-29 10:19:39 +06:00
## 0.10.8
2022-05-29 10:22:57 +06:00
* `Common`
* Add `Element.isOverflow*` extension properties
2022-05-28 18:48:51 +06:00
## 0.10.7
2022-05-28 22:47:06 +06:00
* `Pagination` :
* Now it is possible to use `doForAll*` and `getForAll` functions in non suspend places
2022-05-27 02:37:14 +06:00
## 0.10.6
2022-05-28 09:45:18 +06:00
* `Versions`
* `Ktor` : `2.0.1` -> `2.0.2`
2022-05-27 02:37:58 +06:00
* `Common`
* `JS` :
* Add `ResizeObserver` functionality
2022-05-16 17:33:49 +06:00
## 0.10.5
2022-05-17 12:32:59 +06:00
* `Versions`
* `Compose` : `1.2.0-alpha01-dev683` -> `1.2.0-alpha01-dev686`
2022-05-16 17:34:34 +06:00
* `Repos`
* `Android` :
* New function `SharedPreferencesKeyValueRepo`
2022-05-19 20:22:34 +06:00
* `FSM`
* Add `StateHandlingErrorHandler` and opportunity to handle states handling errors
2022-05-16 17:34:34 +06:00
2022-05-12 17:03:59 +06:00
## 0.10.4
2022-05-12 17:04:53 +06:00
* `Versions` :
* `Serialization` : `1.3.2` -> `1.3.3`
2022-05-11 01:18:48 +06:00
## 0.10.3
2022-05-11 08:34:44 +06:00
* `Versions` :
* `Compose` : `1.2.0-alpha01-dev682` -> `1.2.0-alpha01-dev683`
2022-05-11 02:38:48 +06:00
* `Coroutines` :
* Fixes in `AccumulatorFlow`
2022-05-10 23:44:13 +06:00
## 0.10.2
* `Versions` :
* `Compose` : `1.2.0-alpha01-dev675` -> `1.2.0-alpha01-dev682`
2022-04-29 18:42:59 +06:00
## 0.10.1
* `Versions` :
* `Ktor` : `2.0.0` -> `2.0.1`
* `Crypto` :
* Add `hmacSha256`
* Add `hex`
2022-04-26 13:35:00 +06:00
## 0.10.0
2022-04-26 13:36:55 +06:00
* `Versions` :
* `Kotlin` : `1.6.10` -> `1.6.21`
* `Compose` : `1.1.1` -> `1.2.0-alpha01-dev675`
* `Exposed` : `0.37.3` -> `0.38.2`
* `Ktor` : `1.6.8` -> `2.0.0`
* `Dokka` : `1.6.10` -> `1.6.21`
2022-04-21 16:12:21 +06:00
## 0.9.24
2022-04-21 16:12:58 +06:00
* `Ktor` :
* `Common` :
* New extension fun `MPPFile#input`
2022-04-20 18:22:21 +06:00
## 0.9.23
2022-04-20 18:36:36 +06:00
* `Repos` :
* `Exposed` :
2022-04-20 23:41:59 +06:00
* New property `ExposedRepo#selectAll` to retrieve all the rows in the table
2022-04-20 18:36:36 +06:00
2022-04-19 11:14:50 +06:00
## 0.9.22
2022-04-19 11:16:04 +06:00
* `Ktor` :
* `Server` :
* Now `createKtorServer` fun is fully customizable
2022-04-15 00:44:28 +06:00
## 0.9.21
2022-04-15 00:49:02 +06:00
* `Repos` :
* `Exposed` :
* fixes in `AbstractExposedWriteCRUDRepo`
2022-04-12 15:13:25 +06:00
## 0.9.20
2022-04-13 15:54:48 +06:00
* `Repos` :
* `Common` :
* Fixes in `OneToManyAndroidRepo`
* New `CursorIterator`
2022-04-08 01:16:01 +06:00
## 0.9.19
* `Versions` :
* `Coroutines` : `1.6.0` -> `1.6.1`
* `Repos` :
* `Exposed` :
* Fixes in `ExposedStandardVersionsRepoProxy`
2022-03-31 14:31:04 +06:00
## 0.9.18
2022-03-31 14:48:15 +06:00
* `Common`
* New extensions for `Element` : `Element#onActionOutside` and `Element#onClickOutside`
2022-03-26 10:57:50 +06:00
## 0.9.17
2022-03-26 11:01:40 +06:00
* `Common` :
* New extensions `Element#onVisibilityChanged` , `Element#onVisible` and `Element#onInvisible`
* `Coroutines` :
2022-03-27 17:15:23 +06:00
* New extension `Element.visibilityFlow()`
* `FSM` :
* Now it is possible to resolve conflicts on `startChain`
2022-03-26 11:01:40 +06:00
2022-03-17 14:53:21 +06:00
## 0.9.16
2022-03-27 13:57:08 +06:00
* `Versions` :
* `Klock` : `2.6.3` -> `2.7.0`
2022-03-17 14:55:47 +06:00
* `Common` :
* New extension `Node#onRemoved`
* `Compose` :
* New extension `Composition#linkWithRoot` for removing of composition with root element
* `Coroutines` :
* `Compose` :
* New function `renderComposableAndLinkToContextAndRoot` with linking of composition to root element
2022-03-16 17:59:29 +06:00
## 0.9.15
2022-03-16 18:40:21 +06:00
* `FSM` :
* Rename `DefaultUpdatableStatesMachine#compare` to `DefaultUpdatableStatesMachine#shouldReplaceJob`
* `DefaultStatesManager` now is extendable
2022-03-16 19:35:14 +06:00
* `DefaultStatesMachine` will stop all jobs of states which was removed from `statesManager`
2022-03-16 18:40:21 +06:00
2022-03-15 15:31:58 +06:00
## 0.9.14
2022-03-15 16:30:32 +06:00
* `Versions` :
* `Klock` : `2.6.2` -> `2.6.3`
* `Ktor` : `1.6.7` -> `1.6.8`
2022-03-15 15:33:45 +06:00
* `Ktor` :
* Add temporal files uploading functionality (for clients to upload and for server to receive)
2022-03-13 14:08:01 +06:00
## 0.9.13
* `Versions` :
* `Compose` : `1.1.0` -> `1.1.1`
2022-03-12 00:34:22 +06:00
## 0.9.12
2022-03-12 01:03:41 +06:00
* `Common` :
* `JS` :
* New function `openLink`
* New function `selectFile`
* New function `triggerDownloadFile`
* `Compose` :
* Created :)
* `Common` :
* `DefaultDisposableEffectResult` as a default realization of `DisposableEffectResult`
* `JS` :
* `openLink` on top of `openLink` with `String` target from common
* `Coroutines` :
* `Compose` :
* `Common` :
* New extension `Flow.toMutableState`
* New extension `StateFlow.toMutableState`
* `JS` :
2022-03-12 01:12:17 +06:00
* New function `selectFileOrThrow` on top of `selectFile` from `common`
2022-03-12 01:03:41 +06:00
* New function `selectFileOrNull` on top of `selectFile` from `common`
2022-03-08 10:01:02 +06:00
## 0.9.11
2022-03-10 15:20:42 +06:00
* `Versions` :
* `Klock` : `2.6.1` -> `2.6.2`
2022-03-10 17:47:37 +06:00
* `Coroutines` :
* `Compose` :
* Created :)
* New extensions and function:
* `Composition#linkWithJob`
* `Composition#linkWithContext`
* `renderComposableAndLinkToContext`
2022-03-10 15:20:42 +06:00
2022-03-04 15:17:36 +06:00
## 0.9.10
2022-03-04 20:20:17 +06:00
* `Versions` :
2022-03-06 16:07:56 +06:00
* `Klock` : `2.5.2` -> `2.6.1`
2022-03-04 15:20:10 +06:00
* Ktor:
* Client:
* New function `UnifiedRequester#createStandardWebsocketFlow` without `checkReconnection` arg
2022-03-04 15:31:32 +06:00
* Server:
* Now it is possible to filter data in `Route#includeWebsocketHandling`
2022-03-04 20:16:59 +06:00
* Callback in `Route#includeWebsocketHandling` and dependent methods is `suspend` since now
* Add `URLProtocol` support in `Route#includeWebsocketHandling` and dependent methods
2022-03-04 15:20:10 +06:00
2022-02-23 22:32:05 +06:00
## 0.9.9
2022-02-23 22:55:56 +06:00
* `Versions` :
* `Klock` : `2.5.1` -> `2.5.2`
* `Common` :
* Add new diff tool - `applyDiff`
2022-02-24 00:26:07 +06:00
* Implementation of `IntersectionObserver` in JS part (copypaste of [this ](https://youtrack.jetbrains.com/issue/KT-43157#focus=Comments-27-4498582.0-0 ) comment)
2022-02-23 22:55:56 +06:00
2022-02-19 16:15:36 +06:00
## 0.9.8
* `Versions` :
* `Exposed` : `0.37.2` -> `0.37.3`
* `Klock` : `2.4.13` -> `2.5.1`
* `AppCompat` : `1.4.0` -> `1.4.1`
2022-02-08 23:08:13 +06:00
## 0.9.7
2022-02-08 23:21:14 +06:00
* `Repos` :
* `Exposed` :
* Fix in `ExposedOneToManyKeyValueRepo` - now it will not use `insertIgnore`
* `Ktor` :
* `Server` :
* `Route#includeWebsocketHandling` now will check that `WebSockets` feature and install it if not
2022-02-07 20:39:44 +06:00
## 0.9.6
2022-02-07 20:43:43 +06:00
* `Repos` :
* `Exposed` :
* Fix in `ExposedOneToManyKeyValueRepo` - now it will not use `deleteIgnoreWhere`
2022-02-01 14:27:07 +06:00
## 0.9.5
* `Versions` :
* `Klock` : `2.4.12` -> `2.4.13`
2022-01-14 13:22:04 +06:00
## 0.9.4
2022-01-17 15:38:23 +06:00
* `Pagination` :
* `Common` :
* Add several `optionallyReverse` functions
2022-01-17 15:56:48 +06:00
* `Common` :
* Changes in `Either` :
* Now `Either` uses `optionalT1` and `optionalT2` as main properties
* `Either#t1` and `Either#t2` are deprecated
* New extensions `Either#mapOnFirst` and `Either#mapOnSecond`
2022-01-17 15:38:23 +06:00
2022-01-14 00:37:03 +06:00
## 0.9.3
* `Versions` :
* `UUID` : `0.3.1` -> `0.4.0`
2022-01-13 10:20:35 +06:00
## 0.9.2
* `Versions` :
* `Klock` : `2.4.10` -> `2.4.12`
2022-01-08 14:12:57 +06:00
## 0.9.1
2022-01-08 14:14:44 +06:00
* `Repos` :
* `Exposed` :
* Default realizations of standard interfaces for exposed DB are using public fields for now:
* `ExposedReadKeyValueRepo`
* `ExposedReadOneToManyKeyValueRepo`
* `ExposedStandardVersionsRepoProxy`
2022-01-08 14:35:28 +06:00
* New typealiases for one to many exposed realizations:
* `ExposedReadKeyValuesRepo`
* `ExposedKeyValuesRepo`
2022-01-08 14:14:44 +06:00
2021-12-28 21:16:34 +06:00
## 0.9.0
* `Versions` :
* `Kotlin` : `1.5.31` -> `1.6.10`
* `Coroutines` : `1.5.2` -> `1.6.0`
* `Serialization` : `1.3.1` -> `1.3.2`
* `Exposed` : `0.36.2` -> `0.37.2`
* `Ktor` : `1.6.5` -> `1.6.7`
* `Klock` : `2.4.8` -> `2.4.10`
2021-12-27 15:45:44 +06:00
## 0.8.9
2021-12-27 15:55:05 +06:00
* `Ktor` :
* `Server` :
* Fixes in `uniloadMultipart`
2021-12-27 17:02:00 +06:00
* `Client` :
* Fixes in `unimultipart`
2021-12-27 15:57:55 +06:00
* `FSM` :
* Fixes in `DefaultUpdatableStatesMachine`
2021-12-26 20:02:18 +06:00
## 0.8.8
2021-12-26 20:07:13 +06:00
* `Versions` :
* `AppCompat` : `1.3.1` -> `1.4.0`
* Android Compile SDK: `31.0.0` -> `32.0.0`
2021-12-26 21:06:26 +06:00
* `FSM` :
* `DefaultStatesMachine` now is extendable
* New type `UpdatableStatesMachine` with default realization`DefaultUpdatableStatesMachine`
2021-12-26 20:07:13 +06:00
2021-12-14 13:25:58 +06:00
## 0.8.7
* `Ktor` :
* `Client` :
* `UnifiedRequester` now have no private fields
2021-12-14 18:01:41 +06:00
* Add preview work with multipart
2021-12-14 13:25:58 +06:00
* `Server`
* `UnifiedRouter` now have no private fields
2021-12-14 18:01:41 +06:00
* Add preview work with multipart
2021-12-14 13:25:58 +06:00
2021-11-27 16:20:56 +06:00
## 0.8.6
2021-12-08 11:45:01 +06:00
* `Common` :
* `Either` extensions `onFirst` and `onSecond` now accept not `crossinline` callbacks
* All `joinTo` now accept not `crossinline` callbacks
2021-11-26 19:32:52 +06:00
## 0.8.5
2021-11-26 19:45:59 +06:00
* `Common` :
* `repeatOnFailure`
2021-11-19 13:18:37 +06:00
## 0.8.4
2021-11-19 13:24:45 +06:00
* `Ktor` :
* `Server` :
* Several new `createKtorServer`
2021-11-17 14:01:44 +06:00
## 0.8.3
2021-11-17 14:22:45 +06:00
* `Common` :
* Ranges intersection functionality
2021-11-17 21:31:35 +06:00
* New type `Optional`
2021-11-17 14:07:11 +06:00
* `Pagination` :
* `Pagination` now extends `ClosedRange<Int>`
2021-11-17 14:22:45 +06:00
* `Pagination` intersection functionality
2021-11-17 14:07:11 +06:00
2021-11-12 13:14:57 +06:00
## 0.8.2
* `Versions` :
* `Klock` : `2.4.7` -> `2.4.8`
* `Serialization` : `1.3.0` -> `1.3.1`
2021-11-12 13:19:15 +06:00
* `FSM` :
* Now it is possible to pass any `CheckableHandlerHolder` in `FSMBuilder`
* Now `StatesMachine` works with `CheckableHandlerHolder` instead of `CustomizableHandlerHolder`
2021-11-12 13:14:57 +06:00
2021-11-09 13:43:46 +06:00
## 0.8.1
* `Versions` :
* `Exposed` : `0.36.1` -> `0.36.2`
2021-11-09 14:03:51 +06:00
* `Core KTX` : `1.6.0` -> `1.7.0`
2021-11-09 13:43:46 +06:00
2021-11-04 15:31:10 +06:00
## 0.8.0
2021-11-02 12:43:59 +06:00
2021-11-03 15:18:41 +06:00
* `Versions` :
* `Klock` : `2.4.6` -> `2.4.7`
* `Ktor` : `1.6.4` -> `1.6.5`
2021-11-05 21:45:01 +06:00
* `Exposed` : `0.35.3` -> `0.36.1`
2021-11-02 12:43:59 +06:00
* `Common` :
* Type `Either` got its own serializer
2021-11-03 15:36:25 +06:00
* `FSM` :
* `Common` :
2021-11-04 15:31:10 +06:00
* Full rework of FSM:
* Now it is more flexible for checking of handler opportunity to handle state
* Now machine and states managers are type-oriented
2021-11-05 21:45:01 +06:00
* `StateHandlerHolder` has been renamed to `CheckableHandlerHolder`
2021-11-03 15:36:25 +06:00
* Add opportunity for comfortable adding default state handler
2021-11-02 12:43:59 +06:00
2021-10-28 17:50:28 +06:00
## 0.7.4
2021-10-28 18:02:02 +06:00
* `Common` :
* New type `Either`
2021-10-28 18:46:53 +06:00
* `Serialization` :
* `TypedSerializer`
* New factory fun which accept vararg pairs of type and its serializer
2021-10-29 13:40:53 +06:00
* `Repos` :
* `Common` (`Android` ):
* `AbstractMutableAndroidCRUDRepo` flows now will have extra buffer capacity instead of reply. It means that
android crud repo _WILL NOT_ send previous events to the
* `Exposed` :
* New parameter `AbstractExposedWriteCRUDRepo#replyCacheInFlows`
* KeyValue realization `ExposedKeyValueRepo` properties `_onNewValue` and `_onValueRemoved` now are available in
inheritors
2021-10-29 13:51:59 +06:00
* `Pagination` :
* `Common` :
* New types `getAllBy*` for current, next and custom paging
2021-10-28 18:02:02 +06:00
2021-10-23 14:19:24 +06:00
## 0.7.3
2021-10-23 14:24:31 +06:00
* `Versions` :
* `Exposed` : `0.35.2` -> `0.35.3`
2021-10-16 08:56:38 +06:00
## 0.7.2
* `Versions` :
* `Klock` : `2.4.5` -> `2.4.6`
2021-10-06 11:51:55 +06:00
## 0.7.1
2021-10-13 14:38:50 +06:00
* `Versions` :
* `Klock` : `2.4.3` -> `2.4.5`
* `Exposed` : `0.35.1` -> `0.35.2`
2021-10-13 13:26:39 +06:00
* `Coroutines` :
* `Common` :
* New `Flow` - `AccumulatorFlow`
2021-10-06 13:30:25 +06:00
* `FSM` :
2021-10-13 13:26:39 +06:00
* `Common` :
2021-10-13 14:38:50 +06:00
* `InMemoryStatesManager` has been replaced
* `StatesMachine` became an interface
2021-10-06 13:30:25 +06:00
* New manager `DefaultStatesManager` with `DefaultStatesManagerRepo` for abstraction of manager and storing of
data info
2021-10-05 13:52:28 +06:00
## 0.7.0
2021-10-03 18:58:06 +06:00
2021-10-05 13:46:23 +06:00
**THIS VERSION HAS MIGRATED FROM KOTLINX DATETIME TO KORLIBS KLOCK. CAREFUL**
* `Versions`
* `kotlinx.datetime` -> `Klock`
## 0.6.0 DO NOT RECOMMENDED
2021-10-04 15:54:43 +06:00
**THIS VERSION HAS MIGRATED FROM KORLIBS KLOCK TO KOTLINX DATETIME. CAREFUL**
2021-10-04 16:09:01 +06:00
**ALL DEPRECATION HAVE BEEN REMOVED**
2021-10-04 15:54:43 +06:00
* `Versions`
* `Klock` -> `kotlinx.datetime`
2021-09-30 11:57:29 +06:00
## 0.5.31
2021-09-30 11:59:44 +06:00
* `Versions` :
* `Klock` : `2.4.2` -> `2.4.3`
2021-10-01 16:12:26 +06:00
* `Ktor` : `1.6.3` -> `1.6.4`
2021-09-30 11:59:44 +06:00
2021-09-25 14:45:56 +06:00
## 0.5.30
2021-09-25 14:55:56 +06:00
* `Versions` :
* `Serialization` : `1.2.2` -> `1.3.0`
2021-09-23 13:10:44 +06:00
## 0.5.29
2021-09-23 13:12:03 +06:00
* `Versions` :
* `Exposed` : `0.34.2` -> `0.35.1`
2021-09-19 20:36:02 +06:00
## 0.5.28
2021-09-19 20:39:15 +06:00
* `Versions` :
* `Kotlin` : `1.5.30` -> `1.5.31`
* `Klock` : `2.4.1` -> `2.4.2`
2021-09-15 19:04:02 +06:00
## 0.5.27
2021-09-15 19:07:36 +06:00
* `Versions` :
* `Exposed` : `0.34.1` -> `0.34.2`
2021-09-09 12:07:56 +06:00
## 0.5.26
2021-09-09 12:16:12 +06:00
* `Repos` :
* `InMemory` :
* `MapCRUDRepo` s and `MapKeyValueRepo` s got `protected` methods and properties instead of private
2021-09-08 11:57:55 +06:00
## 0.5.25
2021-09-08 12:01:02 +06:00
* `Versions` :
* `UUID` : `0.3.0` -> `0.3.1`
2021-09-08 12:06:23 +06:00
* `Common` :
* New property `MPPFile#withoutSlashAtTheEnd`
2021-09-08 12:10:32 +06:00
* Extension `clamp` has been deprecated
* New extension `Iterable#diff`
2021-09-08 12:18:42 +06:00
* `Serialization` :
* New operators `TypedSerializer#plusAssign` and `TypedSerializer#minusAssign`
2021-09-08 12:01:02 +06:00
2021-09-04 14:20:35 +06:00
## 0.5.24
2021-09-04 14:34:27 +06:00
* `Versions` :
* `Coroutines` : `1.5.1` -> `1.5.2`
* `Klock` : `2.3.4` -> `2.4.1`
2021-09-04 14:46:12 +06:00
* `Coroutines` :
* New function `CoroutineScope` with safely exceptions handler as second parameter
2021-09-04 14:34:27 +06:00
2021-09-02 10:09:06 +06:00
## 0.5.23
2021-09-02 13:52:00 +06:00
* `Versions` :
* `Exposed` : `0.33.1` -> `0.34.1`
2021-09-02 13:50:40 +06:00
* `Common` :
* New extensions `Iterable#joinTo` and `Array#joinTo`
2021-08-25 15:10:55 +06:00
## 0.5.22
2021-08-25 15:50:10 +06:00
* `Versions`
* `Kotlin` : `1.5.21` -> `1.5.30`
* `Klock` : `2.3.2` -> `2.3.4`
* `AppCompat` : `1.3.0` -> `1.3.1`
2021-08-26 14:30:37 +06:00
* `Ktor` : `1.6.2` -> `1.6.3`
2021-08-25 15:50:10 +06:00
2021-08-17 10:30:50 +06:00
## 0.5.21
2021-08-17 10:36:15 +06:00
* `Versions`
* `Klock` : `2.3.1` -> `2.3.2`
2021-08-17 10:35:45 +06:00
* `Serialization`
* `Typed Serializer` :
* `TypedSerializer` Descriptor serial name has been fixed
2021-08-16 18:35:46 +06:00
## 0.5.20
2021-08-16 18:42:08 +06:00
* `Repos` :
* `Common`
* `Android` :
* `*OrNull` analogs of `Cursor.get*(String)` extensions have been added
* Extensions `Cursor.getFloat` and `Cursor.getFloatOrNull` have been added
2021-08-08 21:44:06 +06:00
## 0.5.19
2021-08-08 22:09:33 +06:00
* `LanguageCode` :
* `IetfLanguageCode` became as sealed class
* `IetfLanguageCode` now override `toString` and returns its code
2021-08-04 11:03:01 +06:00
## 0.5.18
2021-08-09 11:23:22 +06:00
* `Versions`
* `Kotlin Exposed` : `0.32.1` -> `0.33.1`
2021-08-04 11:03:25 +06:00
* `LanguageCode` :
* Module has been created
2021-07-16 18:42:35 +06:00
## 0.5.17
2021-07-31 14:05:52 +06:00
**SINCE THIS UPDATE JS PARTS WILL BE COMPILED WITH IR COMPILER ONLY**
* `Versions`
* `Kotlin` : `1.5.20` -> `1.5.21`
* `Ktor` : `1.6.1` -> `1.6.2`
* `Klock` : `2.2.0` -> `2.3.1`
* `CryptoJS` : `4.0.0` -> `4.1.1`
2021-07-10 00:36:37 +06:00
## 0.5.16
* `Versions`
* `Coroutines` : `1.5.0` -> `1.5.1`
* `Serialization` : `1.2.1` -> `1.2.2`
* `Ktor` : `1.6.0` -> `1.6.1`
* `Klock` : `2.1.2` -> `2.2.0`
* `Core KTX` : `1.5.0` -> `1.6.0`
2021-06-28 00:31:46 +06:00
## 0.5.15 HOTFIX FOR 0.5.14
2021-06-27 23:18:01 +06:00
2021-06-28 00:31:46 +06:00
* `Coroutines`
* Fixes in `subscribeAsync`
## 0.5.14 NOT RECOMMENDED
2021-06-25 17:19:28 +06:00
2021-06-26 00:50:09 +06:00
* `Versions`
* `Kotlin` : `1.5.10` -> `1.5.20`
2021-06-26 00:46:51 +06:00
* `Coroutines`
* `subscribeSafelyWithoutExceptions` got new parameter `onException` by analogue with `safelyWithoutExceptions`
* New extensions `Flow#subscribeAsync` and subsequent analogs of `subscribe` with opportunity to set up custom marker
2021-06-18 13:05:45 +06:00
## 0.5.13
2021-06-22 13:36:23 +06:00
* `Common` :
* Add functionality for multiplatform working with files:
* Main class for files `MPPFile`
* Inline class for filenames work encapsulation `FileName`
2021-06-23 21:29:28 +06:00
* `FSM`
* Module inited and in preview state
2021-06-22 13:36:23 +06:00
2021-06-17 12:54:06 +06:00
## 0.5.12
2021-06-17 13:39:02 +06:00
* `Common` :
* `Android`
* Extension `View#changeVisibility` has been fixed
* `Android`
* `RecyclerView`
* Default adapter got `dataCountFlow` property
* New subtype of adapter based on `StateFlow` : `StateFlowBasedRecyclerViewAdapter`
2021-06-16 13:15:25 +06:00
## 0.5.11
2021-06-16 13:19:59 +06:00
* `Repos` :
* `Common` :
* Fixes in `WriteOneToManyRepo#add`
2021-06-16 13:22:40 +06:00
* `Exposed` :
* Fixes in `ExposedOneToManyKeyValueRepo#add`
2021-06-16 13:19:59 +06:00
2021-06-14 22:02:41 +06:00
## 0.5.10
2021-06-14 22:10:25 +06:00
* `Versions`
* `Core KTX` : `1.3.2` -> `1.5.0`
* `AndroidX Recycler` : `1.2.0` -> `1.2.1`
* `AppCompat` : `1.2.0` -> `1.3.0`
2021-06-15 14:35:11 +06:00
* `Android`
* `RecyclerView` :
* `data` of `RecyclerViewAdapter` became an abstract field
* New function `RecyclerViewAdapter`
* `Common` :
* New extension `View#changeVisibility`
* `Repos` :
* `Common` :
* `WriteOneToManyRepo` got new function `clearWithValue`
* `Android` :
* New extension `SQLiteDatabase#selectDistinct`
* Fixes in `OneToManyAndroidRepo`
2021-06-14 22:04:39 +06:00
* `Ktor`
* `Server`
* All elements in configurators became a `fun interface`
* `Pagination`
* New function `doForAllWithCurrentPaging`
2021-06-13 11:48:00 +06:00
## 0.5.9
2021-06-13 11:48:37 +06:00
* `Repos`
* `Common`
* `OneToManyAndroidRepo` got new primary constructor
2021-06-11 17:03:20 +06:00
## 0.5.8
2021-06-11 17:32:13 +06:00
* `Common` :
* New extension `Iterable#firstNotNull`
* `Coroutines`
* New extension `Flow#firstNotNull`
* New extensions `CoroutineContext#LinkedSupervisorJob` , `CoroutineScope#LinkedSupervisorJob` and
`CoroutineScope#LinkedSupervisorScope`
2021-06-05 20:12:41 +06:00
## 0.5.7
2021-06-06 01:46:33 +06:00
* `Pagination`
* `Ktor`
* `Server`
* Fixes in extension `extractPagination`
2021-06-05 20:29:59 +06:00
* `Repos`
* `Cache`
* All standard cache repos have been separated to read and read/write repos
2021-06-05 15:07:27 +06:00
## 0.5.6
2021-06-05 15:08:15 +06:00
* `Versions`
* `Exposed` : `0.31.1` -> `0.32.1`
2021-06-05 15:16:07 +06:00
* `Coroutines`
* `JVM`
* `launchSynchronously` and subsequent functions got improved mechanism
2021-06-05 15:18:48 +06:00
* New method `safelyWithResult`
2021-06-05 15:08:15 +06:00
2021-05-28 19:34:30 +06:00
## 0.5.5
* `Versions`
* `Ktor` : `1.5.4` -> `1.6.0`
2021-05-26 22:05:04 +06:00
## 0.5.4
* `Versions` :
* `Klock` : `2.1.0` -> `2.1.2`
2021-05-23 00:03:43 +06:00
## 0.5.3
2021-05-26 18:00:24 +06:00
* `Versions` :
* `Kotlin` : `1.5.0` -> `1.5.10`
2021-05-24 12:27:54 +06:00
* `Coroutines` :
* Extensions `doInUI` and `doInDefault` were replaced in common and available on any supported platform
* Extension `doInIO` replaced into `jvm` and available on any `JVM` platform
* Old extension `safelyWithouException` without `onException` has been replaced by its copy with `onException` and
default value
* New value `defaultSafelyWithoutExceptionHandlerWithNull` which is used in all `*WithoutExceptions` by default
* Analogs of `launch` and `async` for `safely` and `safelyWithoutExceptions` were added
2021-05-25 00:18:46 +06:00
* Analogs of `runCatching` for `safely` and `safelyWithoutExceptions` were added
2021-05-24 12:27:54 +06:00
2021-05-21 17:56:36 +06:00
## 0.5.2
2021-05-21 18:04:04 +06:00
* `Ktor` :
* `Client` :
* Fixes in `UnifiedRequester`
2021-05-20 10:11:07 +06:00
## 0.5.1
2021-05-20 10:21:09 +06:00
* `Versions` :
* `Kotlin Serialization` : `1.2.0` -> `1.2.1`
2021-04-28 23:25:21 +06:00
## 0.5.0
2021-05-18 09:41:59 +06:00
**Notice**: This version is still depend on Kotlin
Exposed 0.31.1. That means that this version
may work improperly in modules based on Kotlin
Exposed
2021-04-28 23:58:55 +06:00
* `Versions` :
* `Kotlin Exposed` : `0.30.2` -> `0.31.1`
2021-05-15 01:36:56 +06:00
* `Kotlin Coroutines` : `1.4.3` -> `1.5.0`
2021-04-28 23:58:55 +06:00
* `RecyclerView` : `1.1.0` -> `1.2.0`
2021-05-03 10:48:31 +06:00
* `Ktor` : `1.5.3` -> `1.5.4`
2021-05-06 18:18:42 +06:00
* `Klock` : `2.0.7` -> `2.1.0`
* `UUID` : `0.2.4` -> `0.3.0`
2021-04-29 12:28:52 +06:00
* **ALL DEPRECATIONS WERE REMOVED**
2021-05-12 21:16:05 +06:00
* `Android` :
* `Alerts` :
* `RecyclerView` :
* Classes `ActionViewHolder` and `ActionsRecyclerViewAdapter` became public
2021-05-10 19:20:57 +06:00
* `Coroutines` :
* New extension and function `doSynchronously` which are the same as `launchSynchronously`
2021-05-10 19:24:21 +06:00
* New extensions `doInDefault` and `doInIO`
2021-04-28 23:58:55 +06:00
2021-04-20 18:36:10 +06:00
## 0.4.36
2021-04-20 18:37:42 +06:00
* All `Android` targets inside common mpp modules now includes JVM code
2021-04-15 13:48:52 +06:00
## 0.4.35
2021-04-15 13:49:53 +06:00
* `Versions` :
* `Kotlin Exposed` : `0.30.1` -> `0.30.2`
2021-04-15 14:15:40 +06:00
* `Serialization` :
* `TypedSerializer` :
* Project has been inited
2021-04-15 13:49:53 +06:00
2021-04-13 12:10:55 +06:00
## 0.4.34
2021-04-13 12:22:04 +06:00
* `Versions` :
* `uuid` : `0.2.3` -> `0.2.4`
2021-04-13 12:20:24 +06:00
* `Repos` :
* `AbstractExposedCRUDRepo` now implements `StandardCRUDRepo`
* `AbstractMutableAndroidCRUDRepo` now implements `StandardCRUDRepo`
2021-04-05 15:14:21 +06:00
## 0.4.33
2021-04-05 16:22:39 +06:00
* `Versions` :
* `Ktor` : `1.5.2` -> `1.5.3`
2021-04-05 16:10:36 +06:00
* `Coroutines`
* Add `WeakJob` workaround:
2021-04-05 16:20:11 +06:00
* `CoroutineScope#weakLaunch`
* `CoroutineScope#weakAsync`
2021-04-05 16:10:36 +06:00
2021-04-02 18:26:53 +06:00
## 0.4.32
2021-04-02 18:39:56 +06:00
* `Versions` :
* `Kotlin Exposed` : `0.29.1` -> `0.30.1`
2021-03-23 13:46:35 +06:00
## 0.4.31
2021-03-24 13:11:15 +06:00
* `Versions` :
* `Kotlin` : `1.4.31` -> `1.4.32`
2021-03-29 19:39:10 +06:00
* `Pagination` :
* New extensions `PaginationResult.changeResultsUnchecked` and `PaginationResult.changeResults` for mapping results
with the same parameters, but different data
* Extension `PaginationResult.thisPageIfNotEmpty` now is typed and will return `PaginationResult?` with the same
generic type as income `PaginationResult`
* New extension `PaginationResult.currentPageIfNotEmpty` - shortcut for `PaginationResult.thisPageIfNotEmpty`
2021-03-29 19:48:37 +06:00
* New common functions. They were created as replacements for currently available for more comfortable work
with repos pagination:
* `doForAll`
* `doForAllWithNextPaging`
* `doForAllWithCurrentPaging`
* `getAll`
* `getAllWithNextPaging`
* `getAllWithCurrentPaging`
2021-03-29 17:57:36 +06:00
* `Coroutines` :
* Rewrite `subscribeSafelyWithoutExceptions`
* Now `subscribeSafelyWithoutExceptions` will use default handler instead of skipping
* New extension `subscribeSafelySkippingExceptions`
2021-03-29 19:39:10 +06:00
* `Repos`
* New subproject `repos.cache` - this subproject will contain repos with data caching mechanisms
2021-03-29 19:48:37 +06:00
* Most old `doForAll` methods have been deprecated
2021-03-24 13:01:15 +06:00
2021-03-17 13:43:52 +06:00
## 0.4.30
2021-03-17 13:52:54 +06:00
* `Versions` :
* `Klock` : `2.0.6` -> `2.0.7`
2021-03-17 13:48:58 +06:00
* `Pagination` :
* New variable `defaultPaginationPageSize` has been added to be able to change default pagination size
* Add new value `firstPageWithOneElementPagination`
2021-03-05 13:04:19 +06:00
## 0.4.29
2021-03-05 13:05:38 +06:00
* `Versions` :
* `Coroutines` : `1.4.2` -> `1.4.3`
2021-03-05 16:15:21 +06:00
* `Repos` :
* `Common`
* `Android` :
* New `blockingReadableTransaction` /`blockingWritableTransaction`
* Android databases realizations now use blocking transactions where it is possible
2021-03-05 20:42:30 +06:00
* Several improvements in transactions work
2021-03-05 13:05:38 +06:00
2021-03-01 18:21:34 +06:00
## 0.4.28
2021-03-01 18:23:20 +06:00
* `Versions` :
* `Kotlin` : `1.4.30` -> `1.4.31`
* `Ktor` : `1.5.1` -> `1.5.2`
2021-03-01 18:35:11 +06:00
* `Coroutines`
* Add `createActionsActor` /`createSafeActionsActor` and `doWithSuspending`
2021-03-01 18:23:20 +06:00
2021-02-23 12:50:55 +06:00
## 0.4.27
2021-02-26 15:35:15 +06:00
* `Repos`
* `Exposed`
* Fix in `AbstractExposedWriteCRUDRepo`
2021-02-21 21:16:45 +06:00
## 0.4.26
2021-02-21 21:19:13 +06:00
* `Versions` :
* `Serialization` : `1.0.1` -> `1.1.0`
2021-02-11 14:31:05 +06:00
## 0.4.25
2021-02-11 14:43:07 +06:00
* `Matrix` :
* Subproject has been created
2021-02-05 15:35:09 +06:00
## 0.4.24
2021-02-05 15:41:43 +06:00
* `Versions` :
* `Kotlin` : `1.4.21` -> `1.4.30`
* `Klock` : `2.0.4` -> `2.0.6`
2021-02-05 15:38:20 +06:00
* `Coroutines` :
* New class `DoWithFirstBuilder`
* Several new extensions like `firstOf` /`first` /`invokeOnFirstOf`
2021-01-28 15:04:49 +06:00
## 0.4.23
2021-01-28 15:43:06 +06:00
* `Versions` :
* `Ktor` : `1.5.0` -> `1.5.1`
2021-01-28 15:38:22 +06:00
* `Serialization`
* `Base64`
* New serializer `Base64BytesToFromStringSerializer` has been added
2021-01-27 23:36:09 +06:00
## 0.4.22
2021-01-27 23:49:57 +06:00
* `Versions` :
* `Exposed` : `0.28.1` -> `0.29.1`
* `Klock` : `2.0.2` -> `2.0.4`
2021-01-22 23:52:16 +06:00
## 0.4.21
2021-01-23 11:56:58 +06:00
* `Common`
* `JS`
* Extension `DataView#toByteArray` has been added
* Extension `ArrayBuffer#toByteArray` has been added
* Extension `ByteArray#toDataView` has been added
* Extension `ByteArray#toArrayBuffer` has been added
* `Coroutines`
* `JS`
* Extension `Blob#toByteArray` has been added
* `Crypto`
* Subproject has been created
* `Serialization`
* `Base64`
* Currently, it is not depended on `common` project and use `crypto` instead
2021-01-21 10:10:03 +06:00
## 0.4.20
2021-01-21 10:10:52 +06:00
* `Serialization`
* `Encapsulator` :
* Has been created
2021-01-19 13:24:38 +06:00
## 0.4.19
2021-01-19 13:28:50 +06:00
* `Coroutines` :
* New extension `Iterable<Deferred>#awaitFirstWithDeferred` has been added to identify which of `Deferred` s was
normally completed
* New extensions `Iterable<Deferred<T>>#invokeOnFirst` and `Iterable<DeferredAction<*, O>>.invokeFirstOf` have been
added
2021-01-17 16:49:10 +06:00
## 0.4.18
2021-01-17 17:15:54 +06:00
* `Coroutines` :
* New extension `Iterable<Deferred>#awaitFirst` has been added
2021-01-17 16:53:24 +06:00
* `Serialization`
* `Base 64`
* New `Base64ByteArraySerializer` has been added
2021-01-14 14:22:09 +06:00
## 0.4.17
2021-01-14 20:51:13 +06:00
* `Common`
* Functionality for decode/encode base 64 to/from `ByteArray` /`String` have been added
* `Serialization`
* `Base 64`
* Project has been initiated
2021-01-07 10:08:39 +06:00
## 0.4.16
2021-01-07 10:22:28 +06:00
* `Coroutines` :
* `safely` :
* New `safelyWithoutExceptions` function may accept `onException` parameter with nullable result
* Old `safelyWithoutExceptions` now using `defaultSafelyWithoutExceptionHandler` to handle exceptions "like in
`safely` ", but it is expected that `defaultSafelyWithoutExceptionHandler` will not throw any exception
2020-12-22 21:39:43 +06:00
## 0.4.15
2020-12-22 23:17:28 +06:00
* `Coroutines` :
* `safely` :
* `SafelyExceptionHandlerKey` has been deprecated
* `SafelyExceptionHandler` has been deprecated
* `ContextSafelyExceptionHandlerKey` has been added
* `ContextSafelyExceptionHandler` has been added
* `safelyWithContextExceptionHandler` has been added
2020-12-22 14:48:02 +06:00
## 0.4.14
2020-12-22 14:55:01 +06:00
* `Versions` :
2020-12-22 15:16:06 +06:00
* `Kotlin` : `1.4.20` -> `1.4.21`
* `Ktor` : `1.4.3` -> `1.5.0`
* `Klock` : `2.0.1` -> `2.0.2`
* `Coroutines` :
* Add global variable `defaultSafelyExceptionHandler`
* Add `SafelyExceptionHandlerKey` and `SafelyExceptionHandler` classes to be able to overwrite
`defaultSafelyExceptionHandler` using context of coroutine
2020-12-22 14:55:01 +06:00
2020-12-15 12:49:50 +06:00
## 0.4.13
2020-12-15 13:25:01 +06:00
* `Common`
* `Android`
* Add expand/collapse functionality for horizontal expand/collapse
2020-12-14 18:44:24 +06:00
## 0.4.12
2020-12-14 20:06:46 +06:00
* `Coroutines`
2020-12-14 20:20:30 +06:00
* `JVM`
* Update `launchSynchronously` signature
2020-12-14 19:17:16 +06:00
* `Selector`
* Project created
2020-12-07 22:36:32 +06:00
## 0.4.11
2020-12-07 22:39:23 +06:00
* `Common`
* Add `clamp` function
2020-12-05 17:25:43 +06:00
## 0.4.10
2020-12-05 17:29:49 +06:00
* `Versions` :
* `Klock` : `2.0.0` -> `2.0.1`
2020-12-05 17:52:37 +06:00
* `Repo`
* Repo `WriteStandardKeyValueRepo` got new method `unsetWithValues`
2020-12-05 17:29:49 +06:00
2020-12-02 16:13:54 +06:00
## 0.4.9
2020-12-02 16:21:31 +06:00
* `Versions` :
* `Ktor` : `1.4.2` -> `1.4.3`
2020-12-02 17:28:59 +06:00
* `Coroutines` :
* `launchSynchronously` has been added in JVM
2020-12-02 16:25:37 +06:00
* `Repo`
2020-12-02 16:38:07 +06:00
* `Common`
* In repos different usages of `BroadcastChannel` s has been replaced with `MutableSharedFlow`
2020-12-02 16:25:37 +06:00
* `Exposed`
* `asObject` open fun has been added in CRUD realization
2020-12-02 16:21:31 +06:00
2020-12-01 15:11:18 +06:00
## 0.4.8
2020-12-01 15:38:44 +06:00
* `Versions` :
* `Coroutines` : `1.4.1` -> `1.4.2`
* `UUID` : `0.2.2` -> `0.2.3`
2020-12-01 15:34:12 +06:00
* `Pagination`
* Add `PaginatedIterable` and `PaginatedIterator`
2020-11-27 11:57:40 +06:00
## 0.4.7
2020-11-27 13:30:02 +06:00
* `Ktor`
* `Client`
* New class `UnifiedRequester`
2020-11-27 14:35:00 +06:00
* `Server`
* New class `UnifiedRouter`
2020-11-27 13:30:02 +06:00
* `Repos`
* `Ktor`
* `Client`
* Rewriting of all clients on new `UnifiedRequester`
2020-11-27 14:35:00 +06:00
* `Server`
* Rewriting of all clients on new `UnifiedRouter`
2020-11-27 13:30:02 +06:00
2020-11-26 15:00:32 +06:00
## 0.4.6
2020-11-26 18:01:12 +06:00
* `Common`
* New annotation `Warning` has been added
2020-11-26 15:01:45 +06:00
* `Pagination`
* `Common`
* `Pagination` got new extension: `Pagination#isFirstPage`
2020-11-26 15:02:30 +06:00
* `Coroutines` :
* New extension `FlowCollector#invoke` has been added
2020-11-26 15:03:40 +06:00
* `Repos`
* `Common`
* `JVM` (and `Android` since `Android API 26` ):
* `FileStandardKeyValueRepo` has been added
2020-11-26 15:32:00 +06:00
* Add several `typealias` es for each type of repos
2020-11-26 15:01:45 +06:00
2020-11-23 17:15:21 +06:00
## 0.4.5
2020-11-23 17:24:02 +06:00
* `Android`
* `Alerts`
2020-11-23 18:32:14 +06:00
* `Common`
* Project has been created
* `RecyclerView`
2020-11-23 18:10:53 +06:00
* Project has been created
2020-11-23 17:39:17 +06:00
* `Common`
* Annotation `PreviewFeature` has been added
* `Android`
* Added tools to work with visibility in more comfortable way
* Added tools to work with disabled/enabled state in more comfortable way
* Added tools to work with expanded/collapsed state in more comfortable way (in preview mode)
2020-11-23 17:24:02 +06:00
2020-11-22 17:49:39 +06:00
## 0.4.4
2020-11-22 19:12:10 +06:00
* `Versions` :
* `Klock` : `1.12.1` -> `2.0.0`
2020-11-23 00:36:37 +06:00
* `Commons` :
* Update left items functionality to include work with `GridLayoutManager`
2020-11-22 19:07:37 +06:00
* `Repos` :
* Add interface `VersionsRepo`
* Add default realization of `VersionsRepo` named `StandardVersionsRepo` which use `StandardVersionsRepoProxy`
to get access to some end-store
* Add default realization of `StandardVersionsRepoProxy` based on `KeyValue` repos
* Add realizations of `StandardVersionsRepoProxy` for exposed and android (`SQL` and `SharedPreferences` )
2020-11-22 21:51:33 +06:00
* `Commons` :
2020-11-22 23:42:01 +06:00
* In Android fully reworked transactions functions
* Now `DatabaseCoroutineContext` is a shortcut for `Dispatchers.IO`
2020-11-22 19:07:37 +06:00
2020-11-20 10:20:35 +06:00
## 0.4.3
2020-11-20 13:10:32 +06:00
* `Versions` :
* `Kotlin` : `1.4.10` -> `1.4.20`
2020-11-20 10:23:32 +06:00
* `Common` :
* Two new extensions for Android:
* `Resources#getSp`
* `Resources#getDp`
2020-11-18 20:07:54 +06:00
## 0.4.2
2020-11-18 20:27:29 +06:00
* `Repos` :
* Add `WriteOneToManyKeyValueRepo#set` function and extensions
2020-11-16 19:46:50 +06:00
## 0.4.1
2020-11-16 19:48:28 +06:00
* `Repos` :
* Fixed error in `ExposedKeyValueRepo` related to negative size of shared flow
2020-11-16 20:05:22 +06:00
* Fixed error in `ExposedKeyValueRepo` related to avoiding of table initiation
2020-11-16 19:48:28 +06:00
2020-11-14 16:18:22 +06:00
## 0.4.0
2020-11-14 16:44:28 +06:00
* `Repos` :
* `ReadOneToManyKeyValueRepo` got `keys` method with value parameter
* All implementations inside of this library has been updated
2020-11-14 17:27:26 +06:00
* `ReadStandardKeyValueRepo` got `keys` method with value parameter
* All implementations inside of this library has been updated
2020-11-14 17:35:11 +06:00
* New extensions `withMapper`
2020-11-14 16:44:28 +06:00
2020-11-12 22:10:41 +06:00
## 0.3.3
2020-11-12 22:16:21 +06:00
* `Coroutines` :
* New extension `Flow<T>#plus`
2020-11-11 11:34:45 +06:00
## 0.3.2
* `Versions` :
* `Coroutines` : `1.4.1` -> `1.4.2`
2020-11-11 12:03:14 +06:00
* `Repos` :
* `Common` :
* New inline function `mapper` for simplier creating of `MapperRepo` objects
* Extensions `withMapper` for keyvalue repos and onetomany repos
2020-11-11 11:34:45 +06:00
2020-11-09 21:46:58 +06:00
## 0.3.1
2020-11-10 19:49:21 +06:00
**ANDROID PACKAGES**
* `Android` :
* `RecyclerView` :
* Library has been created
* `Common`
* Now available package `dev.inmo:micro_utils.common-android`
* `Coroutines`
* Now available package `dev.inmo:micro_utils.coroutines-android`
* `Ktor`
* `Common`
* Now available package `dev.inmo:micro_utils.ktor.common-android`
* `Client`
* Now available package `dev.inmo:micro_utils.ktor.client-android`
* `MimeTypes`
* Now available package `dev.inmo:micro_utils.mime_types-android`
* `Pagination`
* `Common`
* Now available package `dev.inmo:micro_utils.pagination.common-android`
* `Ktor`
* `Common`
* Now available package `dev.inmo:micro_utils.pagination.ktor.common-android`
* `Repos`
* `Common`
* Now available package `dev.inmo:micro_utils.repos.common-android`
* Now it is possible to use default realizations of repos abstractions natively on android
* `Inmemory`
* Now available package `dev.inmo:micro_utils.repos.inmemory-android`
* `Ktor`
* `Common`
* Now available package `dev.inmo:micro_utils.repos.ktor.common-android`
* `Common`
* Now available package `dev.inmo:micro_utils.repos.ktor.client-android`
2020-11-08 23:50:53 +06:00
## 0.3.0
2020-11-08 20:44:40 +06:00
2020-11-09 00:46:26 +06:00
All deprecations has been removed
2020-11-08 20:45:45 +06:00
* `Repos` :
2020-11-09 00:46:26 +06:00
* `Common` :
* `KeyValue` and `OneToMany` repos lost their deprecated methods
* `OneToMany` write repos got additional extensions for mutation of repo
* `KeyValue` write repos got additional extensions for mutation of repo
* New interface `MapperRepo` and new classes which are using this:
* `KeyValue`
* `MapperReadStandardKeyValueRepo`
* `MapperWriteStandardKeyValueRepo`
* `MapperStandardKeyValueRepo`
* `OneToMany`
* `MapperReadOneToManyKeyValueRepo`
* `MapperWriteOneToManyKeyValueRepo`
* `MapperOneToManyKeyValueRepo`
2020-11-08 20:45:45 +06:00
* `Exposed` :
* CRUD realizations replaced their channels to shared flows
2020-11-04 18:47:42 +06:00
## 0.2.7
2020-11-07 02:25:50 +06:00
* `Versions` :
* `Coroutines` : `1.4.0` -> `1.4.1`
* `Repos` :
* `WriteStandardKeyValueRepo` got new methods `set` and `unset` with collections
* All standard realizations of repos got collections methods realizations
2020-11-07 02:27:54 +06:00
* All old usages of `BroadcastFlow` and `BroadcastChannel` has been replaced with `MutableSharedFlow`
2020-11-07 02:25:50 +06:00
* `Ktor` :
* `Server` :
* Fixed incorrect answer for `keyvalue`
2020-11-03 18:35:22 +06:00
## 0.2.6
2020-11-03 18:37:50 +06:00
* `Pagination`
* Fixes in function `List#paginate`
2020-11-03 19:43:45 +06:00
* Extension property `Pagination#lastIndexExclusive`
2020-11-03 18:37:50 +06:00
2020-11-02 21:24:20 +06:00
## 0.2.5
2020-11-02 21:25:33 +06:00
* `Coroutines`
* Function `safelyWithoutExceptions`
2020-11-02 21:32:04 +06:00
* Extension `CoroutineScope#safeActor`
2020-11-02 21:25:33 +06:00
2020-11-01 00:41:02 +06:00
## 0.2.4
2020-11-01 00:41:57 +06:00
* `Versions`
* `Serialization` : `1.0.0` -> `1.0.1`
2020-11-02 00:12:37 +06:00
* `Common`
* Full rework of `DiffUtils`
* Data class `Diff` has been added
* Extension `Iterable#calculateDiff` has been added
* Extension `Iterable#calculateStrictDiff` as replacement for `Iterable#calculateDiff` with
`strictComparison` mode enabled
* Functions `Diff` (as analog of `Iterable#calculateDiff` ) and `StrictDiff` (as analog of
`Iterable#calculateStrictDiff` )
2020-11-01 00:43:47 +06:00
* `Coroutines`
* `BroadcastFlow` now is deprecated
* `BroadcastStateFlow` now is deprecated
2020-11-01 00:54:07 +06:00
* New extensions for `Flow` s:
* `Flow#subscribe`
* `Flow#subscribeSafely`
* `Flow#subscribeSafelyWithoutExceptions`
2020-11-01 00:41:57 +06:00
2020-10-28 13:55:49 +06:00
## 0.2.3
2020-10-28 13:58:23 +06:00
* `Versions`
* `Coroutines` : `1.3.9` -> `1.4.0`
* `Exposed` : `0.27.1` -> `0.28.1`
2020-10-28 13:57:24 +06:00
* `Common`
* `K/JS`
* Add several extensions for `Element` objects to detect that object is on screen viewport
* Add several extensions for `Element` objects to detect object visibility
2020-10-28 14:17:39 +06:00
* `Coroutines`
* `BroadcastStateFlow` now use different strategy for getting of state and implements `replayCache`
2020-10-28 13:57:24 +06:00
2020-10-25 21:52:36 +06:00
## 0.2.2
2020-10-25 22:21:23 +06:00
* `Repos`
* `Common`
* Several new methods `ReadOneToManyKeyValueRepo#getAll`
* Several new method `WriteOneToManyKeyValueRepo#add` and several extensions
* Several new method `WriteOneToManyKeyValueRepo#remove` and several extensions
2020-10-22 14:38:53 +06:00
## 0.2.1
2020-10-22 14:39:39 +06:00
* `Pagination`
* `Common` :
* Extension `Pagination#reverse` has been added
2020-10-22 15:41:21 +06:00
* Factory `PaginationByIndexes`
* Shortcut `calculatePagesNumber` with reversed parameters
2020-10-22 17:57:27 +06:00
* Value `emptyPagination` for empty `SimplePagination` cases
2020-10-22 14:39:39 +06:00
2020-10-17 17:20:11 +06:00
## 0.2.0
2020-09-30 15:47:45 +06:00
2020-10-17 17:50:54 +06:00
* `Repos`
* `Exposed`
* Now this project depend on `micro_utils.coroutines`
* Typealias `ColumnAllocator` has been replaced to root exposed package
* Interface `ExposedRepo` has been added
* `ExposedCRUDRepo` now extends `ExposedRepo` instead of simple `Repo`
* New extension `initTable` for classes which are `Table` and `ExposedRepo` at the same time
* `KeyValue` :
2020-10-17 18:53:20 +06:00
* `tableName` parameter
2020-10-17 17:50:54 +06:00
* Class `AbstractExposedReadKeyValueRepo`
* Renamed to `ExposedReadKeyValueRepo`
* Changed incoming types to `ColumnAllocator`
* `open` instead of `abstract`
* Implements `ExposedRepo`
* Class `AbstractExposedKeyValueRepo`
* Renamed to `ExposedKeyValueRepo`
* Changed incoming types to `ColumnAllocator`
* `open` instead of `abstract`
* `OneToMany` :
2020-10-17 18:53:20 +06:00
* `tableName` parameter
2020-10-17 17:50:54 +06:00
* Class `AbstractExposedReadOneToManyKeyValueRepo`
* Renamed to `ExposedReadOneToManyKeyValueRepo`
* Changed incoming arguments order
* Implements `ExposedRepo`
* Class `AbstractExposedOneToManyKeyValueRepo`
* Renamed to `ExposedKeyValueRepo`
* Changed incoming arguments order
* `open` instead of `abstract`
* Release for every `Flow` in parent interfaces
2020-10-17 17:20:11 +06:00
## 0.1.1
2020-09-30 15:56:24 +06:00
2020-10-13 16:46:37 +06:00
* `Versions` :
* `kotlinx.serialization` : `1.0.0-RC2` -> `1.0.0`
2020-10-14 21:41:51 +06:00
* `Pagination`
* `Common`
* Function `calculatePage` for calculating page based on size of page and index of first element
* Extension `List#createPaginationResult` which use index of first element to calculate current page and other
info in `PaginationResult` object
* Factory `emptyPaginationResult` for empty `PaginationResult`
* Extensions `paginate` for creating of `PaginationResult` which use as source one of next types:
* `Iterable`
* `List`
* `Set`
2020-09-30 15:56:24 +06:00
* `Repos`
* `Common`
2020-10-14 22:02:10 +06:00
* Interfaces related to `OneToManyKeyValueRepo` were renamed with convenience to `Read` /`Write` modifier before name
* All subclasses were renamed
2020-10-14 22:29:03 +06:00
* Interfaces related to `StandartKeyValueRepo` were renamed with convenience to `Read` /`Write` modifier before name
* All subclasses were renamed
2020-10-02 19:13:04 +06:00
* Extensions `doForAll` and `getAll` were added for all current types of repos:
* `ReadStandardCRUDRepo`
2020-10-14 22:02:10 +06:00
* `ReadStandardKeyValueRepo`
* `ReadOneToManyKeyValueRepo`
* `ReadStandardKeyValueRepo` methods `values` and `keys` now have default value for `reversed` parameter `false`
* New `Flow` 's in `WriteOneToManyKeyValueRepo` :
2020-10-14 21:41:51 +06:00
* `onNewValue`
* `onValueRemoved`
* `onDataCleared`
* New function `ReadStandardCRUDRepo#count`
* `In Memory`
* Package has been created:) you can connect it via `implementation "dev.inmo:micro_utils.repos.inmemory"`
* `MapCRUDRepo` class as implementation of `StandardCRUDRepo` on top of `MutableMap` has been added
* `MapKeyValueRepo` class as implementation of `StandardKeyValueRepo` on top of `MutableMap` has been added
* `MapOneToManyKeyValueRepo` class as implementation of `OneToManyKeyValueRepo` on top of `MutableMap` has been added
2020-10-17 17:20:11 +06:00
## 0.1.0
2020-11-22 23:42:01 +06:00
Inited :)