MicroUtils/CHANGELOG.md

907 lines
26 KiB
Markdown
Raw Normal View History

2020-09-30 09:47:45 +00:00
# Changelog
2021-11-09 07:43:46 +00:00
## 0.8.1
* `Versions`:
* `Exposed`: `0.36.1` -> `0.36.2`
2021-11-09 08:03:51 +00:00
* `Core KTX`: `1.6.0` -> `1.7.0`
2021-11-09 07:43:46 +00:00
2021-11-04 09:31:10 +00:00
## 0.8.0
2021-11-02 06:43:59 +00:00
2021-11-03 09:18:41 +00:00
* `Versions`:
* `Klock`: `2.4.6` -> `2.4.7`
* `Ktor`: `1.6.4` -> `1.6.5`
2021-11-05 15:45:01 +00:00
* `Exposed`: `0.35.3` -> `0.36.1`
2021-11-02 06:43:59 +00:00
* `Common`:
* Type `Either` got its own serializer
2021-11-03 09:36:25 +00:00
* `FSM`:
* `Common`:
2021-11-04 09:31:10 +00: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 15:45:01 +00:00
* `StateHandlerHolder` has been renamed to `CheckableHandlerHolder`
2021-11-03 09:36:25 +00:00
* Add opportunity for comfortable adding default state handler
2021-11-02 06:43:59 +00:00
2021-10-28 11:50:28 +00:00
## 0.7.4
2021-10-28 12:02:02 +00:00
* `Common`:
* New type `Either`
2021-10-28 12:46:53 +00:00
* `Serialization`:
* `TypedSerializer`
* New factory fun which accept vararg pairs of type and its serializer
2021-10-29 07:40:53 +00: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 07:51:59 +00:00
* `Pagination`:
* `Common`:
* New types `getAllBy*` for current, next and custom paging
2021-10-28 12:02:02 +00:00
2021-10-23 08:19:24 +00:00
## 0.7.3
2021-10-23 08:24:31 +00:00
* `Versions`:
* `Exposed`: `0.35.2` -> `0.35.3`
2021-10-16 02:56:38 +00:00
## 0.7.2
* `Versions`:
* `Klock`: `2.4.5` -> `2.4.6`
2021-10-06 05:51:55 +00:00
## 0.7.1
2021-10-13 08:38:50 +00:00
* `Versions`:
* `Klock`: `2.4.3` -> `2.4.5`
* `Exposed`: `0.35.1` -> `0.35.2`
2021-10-13 07:26:39 +00:00
* `Coroutines`:
* `Common`:
* New `Flow` - `AccumulatorFlow`
2021-10-06 07:30:25 +00:00
* `FSM`:
2021-10-13 07:26:39 +00:00
* `Common`:
2021-10-13 08:38:50 +00:00
* `InMemoryStatesManager` has been replaced
* `StatesMachine` became an interface
2021-10-06 07:30:25 +00:00
* New manager `DefaultStatesManager` with `DefaultStatesManagerRepo` for abstraction of manager and storing of
data info
2021-10-05 07:52:28 +00:00
## 0.7.0
2021-10-03 12:58:06 +00:00
2021-10-05 07:46:23 +00: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 09:54:43 +00:00
**THIS VERSION HAS MIGRATED FROM KORLIBS KLOCK TO KOTLINX DATETIME. CAREFUL**
2021-10-04 10:09:01 +00:00
**ALL DEPRECATION HAVE BEEN REMOVED**
2021-10-04 09:54:43 +00:00
* `Versions`
* `Klock` -> `kotlinx.datetime`
2021-09-30 05:57:29 +00:00
## 0.5.31
2021-09-30 05:59:44 +00:00
* `Versions`:
* `Klock`: `2.4.2` -> `2.4.3`
2021-10-01 10:12:26 +00:00
* `Ktor`: `1.6.3` -> `1.6.4`
2021-09-30 05:59:44 +00:00
2021-09-25 08:45:56 +00:00
## 0.5.30
2021-09-25 08:55:56 +00:00
* `Versions`:
* `Serialization`: `1.2.2` -> `1.3.0`
2021-09-23 07:10:44 +00:00
## 0.5.29
2021-09-23 07:12:03 +00:00
* `Versions`:
* `Exposed`: `0.34.2` -> `0.35.1`
2021-09-19 14:36:02 +00:00
## 0.5.28
2021-09-19 14:39:15 +00:00
* `Versions`:
* `Kotlin`: `1.5.30` -> `1.5.31`
* `Klock`: `2.4.1` -> `2.4.2`
2021-09-15 13:04:02 +00:00
## 0.5.27
2021-09-15 13:07:36 +00:00
* `Versions`:
* `Exposed`: `0.34.1` -> `0.34.2`
2021-09-09 06:07:56 +00:00
## 0.5.26
* `Repos`:
* `InMemory`:
* `MapCRUDRepo`s and `MapKeyValueRepo`s got `protected` methods and properties instead of private
2021-09-08 05:57:55 +00:00
## 0.5.25
2021-09-08 06:01:02 +00:00
* `Versions`:
* `UUID`: `0.3.0` -> `0.3.1`
2021-09-08 06:06:23 +00:00
* `Common`:
* New property `MPPFile#withoutSlashAtTheEnd`
2021-09-08 06:10:32 +00:00
* Extension `clamp` has been deprecated
* New extension `Iterable#diff`
* `Serialization`:
* New operators `TypedSerializer#plusAssign` and `TypedSerializer#minusAssign`
2021-09-08 06:01:02 +00:00
2021-09-04 08:20:35 +00:00
## 0.5.24
2021-09-04 08:34:27 +00:00
* `Versions`:
* `Coroutines`: `1.5.1` -> `1.5.2`
* `Klock`: `2.3.4` -> `2.4.1`
* `Coroutines`:
* New function `CoroutineScope` with safely exceptions handler as second parameter
2021-09-04 08:34:27 +00:00
2021-09-02 04:09:06 +00:00
## 0.5.23
2021-09-02 07:52:00 +00:00
* `Versions`:
* `Exposed`: `0.33.1` -> `0.34.1`
2021-09-02 07:50:40 +00:00
* `Common`:
* New extensions `Iterable#joinTo` and `Array#joinTo`
2021-08-25 09:10:55 +00:00
## 0.5.22
2021-08-25 09:50:10 +00: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 08:30:37 +00:00
* `Ktor`: `1.6.2` -> `1.6.3`
2021-08-25 09:50:10 +00:00
2021-08-17 04:30:50 +00:00
## 0.5.21
2021-08-17 04:36:15 +00:00
* `Versions`
* `Klock`: `2.3.1` -> `2.3.2`
2021-08-17 04:35:45 +00:00
* `Serialization`
* `Typed Serializer`:
* `TypedSerializer` Descriptor serial name has been fixed
2021-08-16 12:35:46 +00:00
## 0.5.20
2021-08-16 12:42:08 +00: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 15:44:06 +00:00
## 0.5.19
2021-08-08 16:09:33 +00:00
* `LanguageCode`:
* `IetfLanguageCode` became as sealed class
* `IetfLanguageCode` now override `toString` and returns its code
2021-08-04 05:03:01 +00:00
## 0.5.18
2021-08-09 05:23:22 +00:00
* `Versions`
* `Kotlin Exposed`: `0.32.1` -> `0.33.1`
2021-08-04 05:03:25 +00:00
* `LanguageCode`:
* Module has been created
2021-07-16 12:42:35 +00:00
## 0.5.17
2021-07-31 08:05:52 +00: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-09 18:36:37 +00: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-27 18:31:46 +00:00
## 0.5.15 HOTFIX FOR 0.5.14
2021-06-27 17:18:01 +00:00
2021-06-27 18:31:46 +00:00
* `Coroutines`
* Fixes in `subscribeAsync`
## 0.5.14 NOT RECOMMENDED
2021-06-25 11:19:28 +00:00
2021-06-25 18:50:09 +00:00
* `Versions`
* `Kotlin`: `1.5.10` -> `1.5.20`
2021-06-25 18:46:51 +00: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 07:05:45 +00:00
## 0.5.13
2021-06-22 07:36:23 +00:00
* `Common`:
* Add functionality for multiplatform working with files:
* Main class for files `MPPFile`
* Inline class for filenames work encapsulation `FileName`
2021-06-23 15:29:28 +00:00
* `FSM`
* Module inited and in preview state
2021-06-22 07:36:23 +00:00
2021-06-17 06:54:06 +00:00
## 0.5.12
2021-06-17 07:39:02 +00: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 07:15:25 +00:00
## 0.5.11
2021-06-16 07:19:59 +00:00
* `Repos`:
* `Common`:
* Fixes in `WriteOneToManyRepo#add`
2021-06-16 07:22:40 +00:00
* `Exposed`:
* Fixes in `ExposedOneToManyKeyValueRepo#add`
2021-06-16 07:19:59 +00:00
2021-06-14 16:02:41 +00:00
## 0.5.10
2021-06-14 16:10:25 +00: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 08:35:11 +00: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`
* `Ktor`
* `Server`
* All elements in configurators became a `fun interface`
* `Pagination`
* New function `doForAllWithCurrentPaging`
2021-06-13 05:48:00 +00:00
## 0.5.9
2021-06-13 05:48:37 +00:00
* `Repos`
* `Common`
* `OneToManyAndroidRepo` got new primary constructor
2021-06-11 11:03:20 +00:00
## 0.5.8
* `Common`:
* New extension `Iterable#firstNotNull`
* `Coroutines`
* New extension `Flow#firstNotNull`
* New extensions `CoroutineContext#LinkedSupervisorJob`, `CoroutineScope#LinkedSupervisorJob` and
`CoroutineScope#LinkedSupervisorScope`
2021-06-05 14:12:41 +00:00
## 0.5.7
2021-06-05 19:46:33 +00:00
* `Pagination`
* `Ktor`
* `Server`
* Fixes in extension `extractPagination`
* `Repos`
* `Cache`
* All standard cache repos have been separated to read and read/write repos
2021-06-05 09:07:27 +00:00
## 0.5.6
2021-06-05 09:08:15 +00:00
* `Versions`
* `Exposed`: `0.31.1` -> `0.32.1`
2021-06-05 09:16:07 +00:00
* `Coroutines`
* `JVM`
* `launchSynchronously` and subsequent functions got improved mechanism
2021-06-05 09:18:48 +00:00
* New method `safelyWithResult`
2021-06-05 09:08:15 +00:00
2021-05-28 13:34:30 +00:00
## 0.5.5
* `Versions`
* `Ktor`: `1.5.4` -> `1.6.0`
2021-05-26 16:05:04 +00:00
## 0.5.4
* `Versions`:
* `Klock`: `2.1.0` -> `2.1.2`
2021-05-22 18:03:43 +00:00
## 0.5.3
2021-05-26 12:00:24 +00:00
* `Versions`:
* `Kotlin`: `1.5.0` -> `1.5.10`
2021-05-24 06:27:54 +00: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
* Analogs of `runCatching` for `safely` and `safelyWithoutExceptions` were added
2021-05-24 06:27:54 +00:00
2021-05-21 11:56:36 +00:00
## 0.5.2
2021-05-21 12:04:04 +00:00
* `Ktor`:
* `Client`:
* Fixes in `UnifiedRequester`
2021-05-20 04:11:07 +00:00
## 0.5.1
2021-05-20 04:21:09 +00:00
* `Versions`:
* `Kotlin Serialization`: `1.2.0` -> `1.2.1`
2021-04-28 17:25:21 +00:00
## 0.5.0
2021-05-18 03:41:59 +00: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 17:58:55 +00:00
* `Versions`:
* `Kotlin Exposed`: `0.30.2` -> `0.31.1`
2021-05-14 19:36:56 +00:00
* `Kotlin Coroutines`: `1.4.3` -> `1.5.0`
2021-04-28 17:58:55 +00:00
* `RecyclerView`: `1.1.0` -> `1.2.0`
2021-05-03 04:48:31 +00:00
* `Ktor`: `1.5.3` -> `1.5.4`
2021-05-06 12:18:42 +00:00
* `Klock`: `2.0.7` -> `2.1.0`
* `UUID`: `0.2.4` -> `0.3.0`
2021-04-29 06:28:52 +00:00
* **ALL DEPRECATIONS WERE REMOVED**
2021-05-12 15:16:05 +00:00
* `Android`:
* `Alerts`:
* `RecyclerView`:
* Classes `ActionViewHolder` and `ActionsRecyclerViewAdapter` became public
2021-05-10 13:20:57 +00:00
* `Coroutines`:
* New extension and function `doSynchronously` which are the same as `launchSynchronously`
2021-05-10 13:24:21 +00:00
* New extensions `doInDefault` and `doInIO`
2021-04-28 17:58:55 +00:00
2021-04-20 12:36:10 +00:00
## 0.4.36
* All `Android` targets inside common mpp modules now includes JVM code
2021-04-15 07:48:52 +00:00
## 0.4.35
2021-04-15 07:49:53 +00:00
* `Versions`:
* `Kotlin Exposed`: `0.30.1` -> `0.30.2`
2021-04-15 08:15:40 +00:00
* `Serialization`:
* `TypedSerializer`:
* Project has been inited
2021-04-15 07:49:53 +00:00
2021-04-13 06:10:55 +00:00
## 0.4.34
2021-04-13 06:22:04 +00:00
* `Versions`:
* `uuid`: `0.2.3` -> `0.2.4`
2021-04-13 06:20:24 +00:00
* `Repos`:
* `AbstractExposedCRUDRepo` now implements `StandardCRUDRepo`
* `AbstractMutableAndroidCRUDRepo` now implements `StandardCRUDRepo`
2021-04-05 09:14:21 +00:00
## 0.4.33
2021-04-05 10:22:39 +00:00
* `Versions`:
* `Ktor`: `1.5.2` -> `1.5.3`
2021-04-05 10:10:36 +00:00
* `Coroutines`
* Add `WeakJob` workaround:
* `CoroutineScope#weakLaunch`
* `CoroutineScope#weakAsync`
2021-04-05 10:10:36 +00:00
2021-04-02 12:26:53 +00:00
## 0.4.32
2021-04-02 12:39:56 +00:00
* `Versions`:
* `Kotlin Exposed`: `0.29.1` -> `0.30.1`
2021-03-23 07:46:35 +00:00
## 0.4.31
2021-03-24 07:11:15 +00:00
* `Versions`:
* `Kotlin`: `1.4.31` -> `1.4.32`
* `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 13:48:37 +00: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 11:57:36 +00:00
* `Coroutines`:
* Rewrite `subscribeSafelyWithoutExceptions`
* Now `subscribeSafelyWithoutExceptions` will use default handler instead of skipping
* New extension `subscribeSafelySkippingExceptions`
* `Repos`
* New subproject `repos.cache` - this subproject will contain repos with data caching mechanisms
2021-03-29 13:48:37 +00:00
* Most old `doForAll` methods have been deprecated
2021-03-24 07:01:15 +00:00
2021-03-17 07:43:52 +00:00
## 0.4.30
2021-03-17 07:52:54 +00:00
* `Versions`:
* `Klock`: `2.0.6` -> `2.0.7`
2021-03-17 07:48:58 +00:00
* `Pagination`:
* New variable `defaultPaginationPageSize` has been added to be able to change default pagination size
* Add new value `firstPageWithOneElementPagination`
2021-03-05 07:04:19 +00:00
## 0.4.29
2021-03-05 07:05:38 +00:00
* `Versions`:
* `Coroutines`: `1.4.2` -> `1.4.3`
2021-03-05 10:15:21 +00:00
* `Repos`:
* `Common`
* `Android`:
* New `blockingReadableTransaction`/`blockingWritableTransaction`
* Android databases realizations now use blocking transactions where it is possible
* Several improvements in transactions work
2021-03-05 07:05:38 +00:00
2021-03-01 12:21:34 +00:00
## 0.4.28
2021-03-01 12:23:20 +00:00
* `Versions`:
* `Kotlin`: `1.4.30` -> `1.4.31`
* `Ktor`: `1.5.1` -> `1.5.2`
2021-03-01 12:35:11 +00:00
* `Coroutines`
* Add `createActionsActor`/`createSafeActionsActor` and `doWithSuspending`
2021-03-01 12:23:20 +00:00
2021-02-23 06:50:55 +00:00
## 0.4.27
2021-02-26 09:35:15 +00:00
* `Repos`
* `Exposed`
* Fix in `AbstractExposedWriteCRUDRepo`
2021-02-21 15:16:45 +00:00
## 0.4.26
2021-02-21 15:19:13 +00:00
* `Versions`:
* `Serialization`: `1.0.1` -> `1.1.0`
2021-02-11 08:31:05 +00:00
## 0.4.25
2021-02-11 08:43:07 +00:00
* `Matrix`:
* Subproject has been created
2021-02-05 09:35:09 +00:00
## 0.4.24
2021-02-05 09:41:43 +00:00
* `Versions`:
* `Kotlin`: `1.4.21` -> `1.4.30`
* `Klock`: `2.0.4` -> `2.0.6`
2021-02-05 09:38:20 +00:00
* `Coroutines`:
* New class `DoWithFirstBuilder`
* Several new extensions like `firstOf`/`first`/`invokeOnFirstOf`
2021-01-28 09:04:49 +00:00
## 0.4.23
2021-01-28 09:43:06 +00:00
* `Versions`:
* `Ktor`: `1.5.0` -> `1.5.1`
2021-01-28 09:38:22 +00:00
* `Serialization`
* `Base64`
* New serializer `Base64BytesToFromStringSerializer` has been added
2021-01-27 17:36:09 +00:00
## 0.4.22
2021-01-27 17:49:57 +00:00
* `Versions`:
* `Exposed`: `0.28.1` -> `0.29.1`
* `Klock`: `2.0.2` -> `2.0.4`
2021-01-22 17:52:16 +00:00
## 0.4.21
* `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 04:10:03 +00:00
## 0.4.20
2021-01-21 04:10:52 +00:00
* `Serialization`
* `Encapsulator`:
* Has been created
2021-01-19 07:24:38 +00:00
## 0.4.19
2021-01-19 07:28:50 +00: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 10:49:10 +00:00
## 0.4.18
2021-01-17 11:15:54 +00:00
* `Coroutines`:
* New extension `Iterable<Deferred>#awaitFirst` has been added
2021-01-17 10:53:24 +00:00
* `Serialization`
* `Base 64`
* New `Base64ByteArraySerializer` has been added
2021-01-14 08:22:09 +00:00
## 0.4.17
2021-01-14 14:51:13 +00: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 04:08:39 +00:00
## 0.4.16
2021-01-07 04:22:28 +00: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 15:39:43 +00:00
## 0.4.15
2020-12-22 17:17:28 +00: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 08:48:02 +00:00
## 0.4.14
2020-12-22 08:55:01 +00:00
* `Versions`:
* `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 08:55:01 +00:00
2020-12-15 06:49:50 +00:00
## 0.4.13
2020-12-15 07:25:01 +00:00
* `Common`
* `Android`
* Add expand/collapse functionality for horizontal expand/collapse
2020-12-14 12:44:24 +00:00
## 0.4.12
2020-12-14 14:06:46 +00:00
* `Coroutines`
2020-12-14 14:20:30 +00:00
* `JVM`
* Update `launchSynchronously` signature
2020-12-14 13:17:16 +00:00
* `Selector`
* Project created
2020-12-07 16:36:32 +00:00
## 0.4.11
2020-12-07 16:39:23 +00:00
* `Common`
* Add `clamp` function
2020-12-05 11:25:43 +00:00
## 0.4.10
2020-12-05 11:29:49 +00:00
* `Versions`:
* `Klock`: `2.0.0` -> `2.0.1`
* `Repo`
* Repo `WriteStandardKeyValueRepo` got new method `unsetWithValues`
2020-12-05 11:29:49 +00:00
2020-12-02 10:13:54 +00:00
## 0.4.9
2020-12-02 10:21:31 +00:00
* `Versions`:
* `Ktor`: `1.4.2` -> `1.4.3`
2020-12-02 11:28:59 +00:00
* `Coroutines`:
* `launchSynchronously` has been added in JVM
* `Repo`
* `Common`
* In repos different usages of `BroadcastChannel`s has been replaced with `MutableSharedFlow`
* `Exposed`
* `asObject` open fun has been added in CRUD realization
2020-12-02 10:21:31 +00:00
2020-12-01 09:11:18 +00:00
## 0.4.8
2020-12-01 09:38:44 +00:00
* `Versions`:
* `Coroutines`: `1.4.1` -> `1.4.2`
* `UUID`: `0.2.2` -> `0.2.3`
2020-12-01 09:34:12 +00:00
* `Pagination`
* Add `PaginatedIterable` and `PaginatedIterator`
2020-11-27 05:57:40 +00:00
## 0.4.7
2020-11-27 07:30:02 +00:00
* `Ktor`
* `Client`
* New class `UnifiedRequester`
2020-11-27 08:35:00 +00:00
* `Server`
* New class `UnifiedRouter`
2020-11-27 07:30:02 +00:00
* `Repos`
* `Ktor`
* `Client`
* Rewriting of all clients on new `UnifiedRequester`
2020-11-27 08:35:00 +00:00
* `Server`
* Rewriting of all clients on new `UnifiedRouter`
2020-11-27 07:30:02 +00:00
2020-11-26 09:00:32 +00:00
## 0.4.6
2020-11-26 12:01:12 +00:00
* `Common`
* New annotation `Warning` has been added
2020-11-26 09:01:45 +00:00
* `Pagination`
* `Common`
* `Pagination` got new extension: `Pagination#isFirstPage`
2020-11-26 09:02:30 +00:00
* `Coroutines`:
* New extension `FlowCollector#invoke` has been added
2020-11-26 09:03:40 +00:00
* `Repos`
* `Common`
* `JVM` (and `Android` since `Android API 26`):
* `FileStandardKeyValueRepo` has been added
2020-11-26 09:32:00 +00:00
* Add several `typealias`es for each type of repos
2020-11-26 09:01:45 +00:00
2020-11-23 11:15:21 +00:00
## 0.4.5
2020-11-23 11:24:02 +00:00
* `Android`
* `Alerts`
2020-11-23 12:32:14 +00:00
* `Common`
* Project has been created
* `RecyclerView`
2020-11-23 12:10:53 +00:00
* Project has been created
2020-11-23 11:39:17 +00: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 11:24:02 +00:00
2020-11-22 11:49:39 +00:00
## 0.4.4
* `Versions`:
* `Klock`: `1.12.1` -> `2.0.0`
2020-11-22 18:36:37 +00:00
* `Commons`:
* Update left items functionality to include work with `GridLayoutManager`
2020-11-22 13:07:37 +00: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 15:51:33 +00:00
* `Commons`:
2020-11-22 17:42:01 +00:00
* In Android fully reworked transactions functions
* Now `DatabaseCoroutineContext` is a shortcut for `Dispatchers.IO`
2020-11-22 13:07:37 +00:00
2020-11-20 04:20:35 +00:00
## 0.4.3
2020-11-20 07:10:32 +00:00
* `Versions`:
* `Kotlin`: `1.4.10` -> `1.4.20`
2020-11-20 04:23:32 +00:00
* `Common`:
* Two new extensions for Android:
* `Resources#getSp`
* `Resources#getDp`
2020-11-18 14:07:54 +00:00
## 0.4.2
2020-11-18 14:27:29 +00:00
* `Repos`:
* Add `WriteOneToManyKeyValueRepo#set` function and extensions
2020-11-16 13:46:50 +00:00
## 0.4.1
* `Repos`:
* Fixed error in `ExposedKeyValueRepo` related to negative size of shared flow
2020-11-16 14:05:22 +00:00
* Fixed error in `ExposedKeyValueRepo` related to avoiding of table initiation
2020-11-14 10:18:22 +00:00
## 0.4.0
2020-11-14 10:44:28 +00:00
* `Repos`:
* `ReadOneToManyKeyValueRepo` got `keys` method with value parameter
* All implementations inside of this library has been updated
* `ReadStandardKeyValueRepo` got `keys` method with value parameter
* All implementations inside of this library has been updated
2020-11-14 11:35:11 +00:00
* New extensions `withMapper`
2020-11-14 10:44:28 +00:00
2020-11-12 16:10:41 +00:00
## 0.3.3
2020-11-12 16:16:21 +00:00
* `Coroutines`:
* New extension `Flow<T>#plus`
2020-11-11 05:34:45 +00:00
## 0.3.2
* `Versions`:
* `Coroutines`: `1.4.1` -> `1.4.2`
2020-11-11 06:03:14 +00:00
* `Repos`:
* `Common`:
* New inline function `mapper` for simplier creating of `MapperRepo` objects
* Extensions `withMapper` for keyvalue repos and onetomany repos
2020-11-11 05:34:45 +00:00
2020-11-09 15:46:58 +00:00
## 0.3.1
2020-11-10 13:49:21 +00: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`
## 0.3.0
2020-11-08 14:44:40 +00:00
2020-11-08 18:46:26 +00:00
All deprecations has been removed
* `Repos`:
2020-11-08 18:46:26 +00: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`
* `Exposed`:
* CRUD realizations replaced their channels to shared flows
2020-11-04 12:47:42 +00:00
## 0.2.7
2020-11-06 20:25:50 +00: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-06 20:27:54 +00:00
* All old usages of `BroadcastFlow` and `BroadcastChannel` has been replaced with `MutableSharedFlow`
2020-11-06 20:25:50 +00:00
* `Ktor`:
* `Server`:
* Fixed incorrect answer for `keyvalue`
2020-11-03 12:35:22 +00:00
## 0.2.6
2020-11-03 12:37:50 +00:00
* `Pagination`
* Fixes in function `List#paginate`
* Extension property `Pagination#lastIndexExclusive`
2020-11-03 12:37:50 +00:00
2020-11-02 15:24:20 +00:00
## 0.2.5
2020-11-02 15:25:33 +00:00
* `Coroutines`
* Function `safelyWithoutExceptions`
2020-11-02 15:32:04 +00:00
* Extension `CoroutineScope#safeActor`
2020-11-02 15:25:33 +00:00
2020-10-31 18:41:02 +00:00
## 0.2.4
2020-10-31 18:41:57 +00:00
* `Versions`
* `Serialization`: `1.0.0` -> `1.0.1`
2020-11-01 18:12:37 +00: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`)
* `Coroutines`
* `BroadcastFlow` now is deprecated
* `BroadcastStateFlow` now is deprecated
2020-10-31 18:54:07 +00:00
* New extensions for `Flow`s:
* `Flow#subscribe`
* `Flow#subscribeSafely`
* `Flow#subscribeSafelyWithoutExceptions`
2020-10-31 18:41:57 +00:00
2020-10-28 07:55:49 +00:00
## 0.2.3
2020-10-28 07:58:23 +00:00
* `Versions`
* `Coroutines`: `1.3.9` -> `1.4.0`
* `Exposed`: `0.27.1` -> `0.28.1`
* `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 08:17:39 +00:00
* `Coroutines`
* `BroadcastStateFlow` now use different strategy for getting of state and implements `replayCache`
2020-10-25 15:52:36 +00:00
## 0.2.2
2020-10-25 16:21:23 +00: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 08:38:53 +00:00
## 0.2.1
2020-10-22 08:39:39 +00:00
* `Pagination`
* `Common`:
* Extension `Pagination#reverse` has been added
* Factory `PaginationByIndexes`
* Shortcut `calculatePagesNumber` with reversed parameters
2020-10-22 11:57:27 +00:00
* Value `emptyPagination` for empty `SimplePagination` cases
2020-10-22 08:39:39 +00:00
2020-10-17 11:20:11 +00:00
## 0.2.0
2020-09-30 09:47:45 +00:00
2020-10-17 11:50:54 +00: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 12:53:20 +00:00
* `tableName` parameter
2020-10-17 11:50:54 +00: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 12:53:20 +00:00
* `tableName` parameter
2020-10-17 11:50:54 +00: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 11:20:11 +00:00
## 0.1.1
2020-09-30 09:56:24 +00:00
* `Versions`:
* `kotlinx.serialization`: `1.0.0-RC2` -> `1.0.0`
2020-10-14 15:41:51 +00: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 09:56:24 +00:00
* `Repos`
* `Common`
2020-10-14 16:02:10 +00:00
* Interfaces related to `OneToManyKeyValueRepo` were renamed with convenience to `Read`/`Write` modifier before name
* All subclasses were renamed
2020-10-14 16:29:03 +00:00
* Interfaces related to `StandartKeyValueRepo` were renamed with convenience to `Read`/`Write` modifier before name
* All subclasses were renamed
* Extensions `doForAll` and `getAll` were added for all current types of repos:
* `ReadStandardCRUDRepo`
2020-10-14 16:02:10 +00:00
* `ReadStandardKeyValueRepo`
* `ReadOneToManyKeyValueRepo`
* `ReadStandardKeyValueRepo` methods `values` and `keys` now have default value for `reversed` parameter `false`
* New `Flow`'s in `WriteOneToManyKeyValueRepo`:
2020-10-14 15:41:51 +00: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 11:20:11 +00:00
## 0.1.0
2020-11-22 17:42:01 +00:00
Inited :)