55 KiB
Changelog
0.20.28
Versions:Kotlin:1.9.22->1.9.21(downgrade)Compose:1.6.0-dev13691->1.5.11(downgrade)
0.20.27
Versions:Kotlin:1.9.21->1.9.22Compose:1.5.11->1.6.0-dev13691
0.20.26
Versions:Exposed:0.45.0->0.46.0. This update brinds new api deprecations in exposed
Resources:- Add opportunity to get default translation by passing
nullasIetfLangargument - Add several useful extensions to get translations in
JStarget
- Add opportunity to get default translation by passing
0.20.25
Colors:Common:- Module inited
0.20.24
Since this version depdendencies of klock and krypto replaced with com.soywiz.korge:korlibs-time and com.soywiz.korge:korlibs-crypto
Versions:Klock(since nowKorlibsTime):4.0.10->5.3.0Krypto(since nowKorlibsCrypto):4.0.10->5.3.0
Serialization:Mapper:Mapperpass decoder into callback of deserialization strategyMapperpass encoder into callback of serialization strategy
0.20.23
Versions:Koin:3.5.0->3.5.3Okio:3.6.0->3.7.0
LanguageCodes:- Fixes in intermediate language codes (like
Chinese.Hans) - Rename
IetfLanguageCodetoIetfLang- Rename all subsequent functions (including serializer)
- New lazy properties
knownLanguageCodesMap,knownLanguageCodesMapByLowerCasedKeysand several others
- Fixes in intermediate language codes (like
0.20.22
Common:- Add opportunity to create own
Diffwith base constructor
- Add opportunity to create own
0.20.21
Resources:- Inited
0.20.20
Repos:Exposed:- Add opportunity for setup flows in
AbstractExposedCRUDRepo
- Add opportunity for setup flows in
0.20.19
Versions:Ktor:2.3.6->2.3.7
0.20.18
Coroutines:SpecialMutableStateFlownow extendsMutableStateFlowCompose:- Deprecate
FlowStatedue to its complexity in fixes
- Deprecate
0.20.17
Versions:Serialization:1.6.1->1.6.2
0.20.16
Versions:Exposed:0.44.1->0.45.0
Coroutines:- Add
SpecialMutableStateFlow Compose:- Add
FlowState
- Add
- Add
0.20.15
Versions:Kotlin:1.9.20->1.9.21KSLog:1.3.0->1.3.1Compose:1.5.10->1.5.11
0.20.14
Versions:Serialization:1.6.0->1.6.1KSLog:1.2.4->1.3.0
0.20.13
Versions:Ktor:2.3.5->2.3.6UUID:0.8.1->0.8.2
0.20.12
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
0.20.11
Versions:Kotlin:1.9.20-RC2->1.9.20Exposed:0.44.0->0.44.1Compose:1.5.10-rc02->1.5.10
Coroutines:SmartRWLockernow will wait first unlock of write mutex for acquiring read
0.20.10
Versions:Kotlin:1.9.20-RC->1.9.20-RC1KSLog:1.2.1->1.2.2Compose:1.5.10-rc01->1.5.10-rc02RecyclerView:1.3.1->1.3.2
0.20.9
- Most of common modules now supports
linuxArm64target
0.20.8
THIS VERSION CONTAINS UPDATES OF DEPENDENCIES UP TO RC VERSIONS. USE WITH CAUTION
Versions:Kotlin:1.9.20-Beta2->1.9.20-RCCompose:1.5.10-beta02->1.5.10-rc01
0.20.7
THIS VERSION CONTAINS UPDATES OF DEPENDENCIES UP TO BETA VERSIONS. USE WITH CAUTION
Versions:Kotlin:1.9.10->1.9.20-Beta2Compose:1.5.1->1.5.10-beta02Exposed:0.43.0->0.44.0Ktor:2.3.4->2.3.5Koin:3.4.3->3.5.0Okio:3.5.0->3.6.0Android Core:1.10.1->1.12.0Android Compose Material:1.1.1->1.1.2
0.20.6
Repos:Exposed- Fixes in exposed key-values repos
0.20.5
Coroutines:- Fixes in
SmartRWLocker
- Fixes in
0.20.4
Versions:Kotlin:1.9.0->1.9.10KSLog:1.2.0->1.2.1Compose:1.5.0->1.5.1UUID:0.8.0->0.8.1
0.20.3
Versions:Compose:1.4.3->1.5.0Exposed:0.42.1->0.43.0Ktor:2.3.3->2.3.4
Repos:Cache:- Fixes in locks of caches
0.20.2
- All main repos uses
SmartRWLocker Versions:Serialization:1.5.1->1.6.0Exposed:0.42.0->0.42.1Korlibs:4.0.9->4.0.10
Androis SDK:33->34
0.20.1
SmallTextField:- Module is initialized
Pickers:- Module is initialized
Coroutines:- Add
SmartSemaphore - Add
SmartRWLocker
- Add
0.20.0
Versions:Kotlin:1.8.22->1.9.0KSLog:1.1.1->1.2.0Exposed:0.41.1->0.42.0UUID:0.7.1->0.8.0Korlibs:4.0.3->4.0.9Ktor:2.3.2->2.3.3Okio:3.4.0->3.5.0
0.19.9
Versions:Koin:3.4.2->3.4.3
Startup:- Now it is possible to start application in synchronous way
0.19.8
Versions:Coroutines:1.7.2->1.7.3Kotlin:1.8.20->1.8.22Compose:1.4.1->1.4.3Okio:3.3.0->3.4.0RecyclerView:1.3.0->1.3.1Fragment:1.6.0->1.6.1
Repos:- Fixes In
KeyValueRepo.clear()of almost all inheritors ofKeyValueRepo Cache:- All full caches got
skipStartInvalidateproperty. By default, this property isfalseand fully caching repos will be automatically invalidated on start of their work
- All full caches got
- Fixes In
0.19.7
Versions:Coroutines:1.7.1->1.7.2
0.19.6
Versions:Coroutines:1.6.4->1.7.1Ktor:2.3.1->2.3.2Compose:1.4.0->1.4.1
0.19.5
Repos:Generator:- Fixes in new type generation
0.19.4
Versions:Koin:3.4.1->3.4.2Android Fragments:1.5.7->1.6.0
KoinGenerator- Fixes in new generic generator part
0.19.3
KoinGenerator- New getter methods now available with opportunity to use parameters
- Old notation
*Singleand*Factoryis deprecated since this release. With old will be generated newsingle*andfactory*notations for new generations - Add opportunity to use generic-oriented koin definitions
0.19.2
Versions:Ktor:2.3.0->2.3.1Koin:3.4.0->3.4.1Uuid:0.7.0->0.7.1
0.19.1
Versions:Korlibs:4.0.1->4.0.3Kotlin Poet:1.13.2->1.14.0
0.19.0
Versions:Korlibs:3.4.0->4.0.1
0.18.4
Koin:- New extension
lazyInject
- New extension
0.18.3
Versions:Serialization:1.5.0->1.5.1Android Cor Ktx:1.10.0->1.10.1
0.18.2
Startup:- Now internal
Jsonis fully customizable
- Now internal
0.18.1
Common:- Add
MapDiff
- Add
Coroutines:- Add
SmartMutex
- Add
0.18.0
ALL PREVIOUSLY DEPRECATED FUNCTIONALITY HAVE BEEN REMOVED
Versions:Android Fragments:1.5.6->1.5.7
Ktor:Server:- Now it is possible to take query parameters as list
Repos:Common:- New
WriteKeyValuesRepo.removeWithValue
- New
Cache:- Rename full caching factories functions to
fullyCached
- Rename full caching factories functions to
0.17.8
Versions:Ktor:2.2.4->2.3.0
0.17.7
Versions:Android CoreKtx:1.9.0->1.10.0
Startup:- Add support of
linuxX64andmingwX64platforms
- Add support of
0.17.6
Versions:Kotlin:1.8.10->1.8.20KSLog:1.0.0->1.1.1Compose:1.3.1->1.4.0Koin:3.3.2->3.4.0RecyclerView:1.2.1->1.3.0Fragment:1.5.5->1.5.6
- Experimentally (
!!!) addlinuxX64andmingwX64targets
0.17.5
Common:- Conversations of number primitives with bounds care
Repos:Common:- By default,
getAllfor repos will take all the size of repo as page size - New extension for all built-in repos
maxPagePagination
- By default,
- All the repos got
getAllfunctions
0.17.4
Serialization:Mapper:- Module inited
Versions:Compose:1.3.1-rc02->1.3.1
0.17.3
Common:- Add
fixedextensions forFloatandDouble - New function
emptyDiff - Now you may pass custom
comparisonFunto alldifffunctions
- Add
0.17.2
FSM:DefaultStatesManager.onUpdateContextsConflictResolverandDefaultStatesManager.onStartContextsConflictResolvernow returnfalseby default
0.17.1
- Hotfix for absence of jvm dependencies in android modules
Versions:Ktor:2.2.3->2.2.4
0.17.0
Versions:Kotlin:1.7.20->1.8.10Serialization:1.4.1->1.5.0KSLog:0.5.4->1.0.0AppCompat:1.6.0->1.6.1
0.16.13
Repos:Generator:- Module has been created
0.16.12
Repos:Exposed:CommonExposedRepo.selectByIdsusesfoldRightby default instead of raw foreach
Koin:Generator:- Module has been created
0.16.11
LanguageCodes:- In android and JVM targets now available
toJavaLocaleand from JavaLocaleconversations from/toIetfLanguageCode
- In android and JVM targets now available
0.16.10
Repos:Cache:- New transformer type:
ReadCRUDFromKeyValueRepo - New transformer type:
ReadKeyValueFromCRUDRepo
- New transformer type:
Pagination:- New
paginateextensions withreversedsupport forList/Set
- New
0.16.9
Versions:Koin:3.2.2->3.3.2AppCompat:1.5.1->1.6.0
Ktor:ClientHttpResponse.bodyOrNullnow retrieve callback to check if body should be received or null- New extension
HttpResponse.bodyOrNullOnNoContent
0.16.8
Versions:Ktor:2.2.2->2.2.3
Ktor:Client- Fixes in
HttpClient.uniUpload
- Fixes in
Server- Fixes in
PartData.FileItem.download
- Fixes in
Repos:Cache:- New type of caches:
FallbackCacheRepo - Fixes in
Write*variants of cached repos - New type
ActionWrapper - New
AutoRecache*classes for all types of repos asFallbackCacheRepos
- New type of caches:
Common:- New transformations for key-value and key-values vice-verse
- Fixes in
FileReadKeyValueRepo
0.16.7
Common:- New extensions
ifTrue/ifFalse/alsoIfTrue/alsoIfFalse/letIfTrue/letIfFalse Diffnow is serializable- Add
IndexedValueserializer repeatOnFailureextending: now you may pass any lambda to check if continue to try/do somethingCompose:- New extension
MutableState.asState
- New extension
- New extensions
Coroutines:Compose:- All the
Flowconversations to composeState/MutableState/SnapshotStateList/Listgot several new parameters Flow.toMutableStatenow is deprecated in favor toasMutableComposeState
- All the
Repos:Cache:- New type
FullCacheRepo - New type
CommonCacheRepo CacheRepogotinvalidatemethod. It will fully reloadFullCacheRepoand just clearCommonCacheRepo- New extensions
KVCache.actualizeAll
- New type
0.16.6
Startup:Launcher:- Improvements in
StartLauncherPlugin#startmethods - Add opportunity to pass second argument on
JVMplatform as log level
- Improvements in
Repos:Ktor:Client:- All clients repos got opportunity to customize their flows
Exposed:- Extensions
eqOrIsNullandneqOrIsNotNullforColumn
- Extensions
0.16.5
Versions:Ktor:2.2.1->2.2.2
0.16.4
Coroutines:- Create
launchInCurrentThread
- Create
0.16.3
Startup:Launcher:- All starting API have been moved into
StartLauncherPluginand do not require serialize/deserialize cycle for now
- All starting API have been moved into
0.16.2
Versions:Compose:1.2.1->1.2.2
Startup:- Module become available on
JStarget
- Module become available on
0.16.1
Coroutines:- New
runCatchingSafely/safelyWithResultwith receivers
- New
SafeWrapper:- Module inited
0.16.0
Versions:Ktor:2.1.3->2.2.1Android Fragment:1.5.3->1.5.5
0.15.1
Startup:- Inited :)
Plugin:- Inited :)
Launcher:- Inited :)
0.15.0
Repos:CRUD:Common:- New method
ReadCRUDRepo#getIdsByPagination
- New method
Android:AbstractAndroidCRUDRepogot new abstract methodtoId
Exposed:CommonExposedReponew abstract propertyasId
Ktor:Client:KtorReadCRUDRepoClientnow requirespaginationIdType
LanguageCodes:- Updates and fixes in generation
MimeTypes:- Updates and fixes in generation
0.14.4
Common:JVM:- New extension
downloadToTempFile
- New extension
Ktor:Server:- Small fix in
handleUniUpload ApplicationCall#uniloadMultipartFilenow usesuniloadMultipart
- Small fix in
Common:- New extension
downloadToTempFile
- New extension
Client:- New extensions on top of
uniUpload
- New extensions on top of
0.14.3
Common:- New type
Progress
- New type
Ktor:Client:- New universal
uniUploadextension forHttpClient
- New universal
Server:- New universal
handleUniUploadextension forApplicationCall - Add extensions
downloadanddownloadToTemporalFile
- New universal
0.14.2
Versions:Exposed:0.40.1->0.41.1
0.14.1
Versions:Klock:3.3.1->3.4.0UUID:0.5.0->0.6.0
0.14.0
ALL DEPRECATIONS HAVE BEEN REMOVED
Versions:Kotlin:1.7.10->1.7.20Klock:3.3.0->3.3.1Compose:1.2.0->1.2.1Exposed:0.39.2->0.40.1
0.13.2
Versions:Klock:3.1.0->3.3.0Ktor:2.1.2->2.1.3
0.13.1
Repos:Exposed:AbstractExposedWriteCRUDRepo#createAndInsertIdnow is optional and returns nullable value
0.13.0
ALL DEPRECATIONS HAVE BEEN REMOVED A LOT OF KTOR METHODS RELATED TO UnifierRouter/UnifiedRequester HAVE BEEN REMOVED
Repos:Exposed:AbstractExposedWriteCRUDRepogot two new methods:updatewithitasUpdateBuilder<Int>andcreateAndInsertId- Old
updatemethod has been deprecated and not recommended to override anymore in realizations - Old
insertmethod now isopeninstead ofabstractand can be omitted
- Old
AbstractExposedKeyValueRepogot two new methods:updatewithitasUpdateBuilder<Int>andinsertKey- Old
updatemethod has been deprecated and not recommended to override anymore - Old
insertmethod now isopeninstead ofabstractand can be omitted in realizations
- Old
0.12.17
Versions:JB Compose:1.2.0-alpha01-dev774->1.2.0-beta02Ktor:2.1.1->2.1.2Koin:3.2.0->3.2.2
0.12.16
Coroutines:Android:- Add class
FlowOnHierarchyChangeListener - Add
ViewGroup#setOnHierarchyChangeListenerRecursively(OnHierarchyChangeListener)
- Add class
0.12.15
Common:applyDiffwill returnDiffobject since this releaseAndroid:- New functions/extensions
findViewsByTagandfindViewsByTagInActivity
- New functions/extensions
Coroutines:- Add
FlowextensionsflatMap,flatMapNotNullandflatten - Add
FlowextensionstakeNotNullandfilterNotNull
- Add
0.12.14
Versions:Android CoreKTX:1.8.0->1.9.0Android AppCompat:1.4.2->1.5.1- Android Compile SDK: 32 -> 33
- Android Build Tools: 32.0.0 -> 33.0.0
Common:Android:- Add
argumentOrNull/argumentOrThrowdelegates for fragments
- Add
Coroutines:- Rewrite
awaitFirstWithDeferredontoCompletableDeferredinstead of coroutines suspending
- Rewrite
0.12.13
Coroutines:- Add opportunity to use markers in actors (solution of #160)
Koin:- Module inited :)
Repos:Android:- Add typealias
KeyValueSPRepoand opportunity to create shared preferencesKeyValuerepo withKeyValueStore(...)(fix of #155)
- Add typealias
0.12.12
Common:Compose:JS:- Add
SkeletonAnimationstylesheet
- Add
0.12.11
Repos:Cache:- Override
KeyValuecache methodvalues
- Override
0.12.10
Repos:Cache:- Hotfix in key values
get
- Hotfix in key values
0.12.9
Versions:Klock:3.0.0->3.1.0
Repos:Cache:- Fixes in key values cache
0.12.8
Versions:Ktor:2.1.0->2.1.1Compose:1.2.0-alpha01-dev764->1.2.0-alpha01-dev774
Ktor:Client:- New extension
HttpClient#bodyOrNullwhich returnsnullin case when server responded withNo Content(204)
- New extension
Server:- New extension
ApplicationCall#respondOrNoContentwhich respondsNo Content(204) when passed data is null
- New extension
0.12.7
Repos:Cache:- Force
WriteCRUDCacheRepoto subscribe on new and updated objects of parent repo
- Force
Pagination:- New function
changeResultsUnchecked(Pagination)
- New function
0.12.6
MimeeTypes>:- Fixed absence of
image/*in known mime types
- Fixed absence of
0.12.5
Repos:Exposed:- Fixes in
paginateextensions
- Fixes in
0.12.4
Versions:Kotlin:1.7.0->1.7.10Compose:1.2.0-alpha01-dev755->1.2.0-alpha01-dev764
0.12.3
Repos:Exposed:- Add abstract exposed variants of
KeyValueandKeyValuesrepos - Add new extension
Query#selectPaginated
- Add abstract exposed variants of
0.12.2
Versions:Serialization:1.4.0-RC->1.4.0Compose:1.2.0-alpha01-dev753->1.2.0-alpha01-dev755
0.12.1
Versions:Ktor:2.0.3->2.1.0
0.12.0
OLD DEPRECATIONS HAVE BEEN REMOVED
MINIMAL ANDROID API HAS BEEN ENLARGED UP TO API 21 (Android 5.0)
VersionsKotlin:1.6.21->1.7.0Coroutines:1.6.3->1.6.4Exposed:0.38.2->0.39.2Compose:1.2.0-alpha01-dev729->1.2.0-alpha01-dev753Klock:2.7.0->3.0.0uuid:0.4.1->0.5.0Android Core KTX:1.7.0->1.8.0Android AppCompat:1.4.1->1.4.2
Ktor:- All previously standard functions related to work with binary data by default have been deprecated
0.11.14
Pagination:PaginationResultgot new fieldobjectsNumberwhich by default is a times betweenpagesNumberandsize
0.11.13
Versions:Coroutines:1.6.3->1.6.4Compose:1.2.0-alpha01-dev629->1.2.0-alpha01-dev731
0.11.12
Repos:Common:JVM:- Fixes in
ReadFileKeyValueRepomethods (values/keys)
- Fixes in
0.11.11
Crypto:hmacSha256has been deprecated
Ktor:Client:BodyPairhas been deprecated
Repos:Cache:- New interface
CacheRepo - New interface
FullCacheRepo actualize*methods inside of full cache repos now open for overriding
- New interface
0.11.10
Repos:Cache:KVCachehas been replaced to the packagedev.inmo.micro_utils.repos.cacheSimpleKVCachehas been replaced to the packagedev.inmo.micro_utils.repos.cache- New
KVCachesubtype -FullKVCache - Add
Full*variants of standard repos - Add
cached/caching(for write repos) extensions for all standard types of repos
0.11.9
VersionsCoroutines:1.6.1->1.6.3Ktor:2.0.2->2.0.3Compose:1.2.0-alpha01-dev686->1.2.0-alpha01-dev729
0.11.8
Repos:Common:- Fixes in
FileKeyValueRepo
- Fixes in
0.11.7
Common:- New abstractions
SimpleMapperandSimpleSuspendableMapper
- New abstractions
Repos:Common:- Add mappers for
CRUDRepo
- Add mappers for
0.11.6
FSM:Common- Several fixes related to the jobs handling
0.11.5
Coroutines:Compose:- Add extension
StateFlow#asMutableComposeListStateandStateFlow#asComposeList - Add extension
StateFlow#asMutableComposeState/StateFlow#asComposeState
- Add extension
0.11.4
THIS VERSION HAS BEEN BROKEN, DO NOT USE IT
0.11.3
Ktor:- Support of
WebSocketshas been improvedClient:- New extensions:
HttpClient#openBaseWebSocketFlow,HttpClient#openWebSocketFlow,HttpClient#openSecureWebSocketFlow
- New extensions:
- Support of
0.11.2
Ktor:- Support of
WebSocketshas been improved and added fixes inside of clients
- Support of
0.11.1
ReposKtor- In
configureReadKeyValueRepoRoutesandconfigureReadKeyValuesRepoRoutesconfigurators fixed requiring ofreversedproperty
- In
0.11.0
VersionsUUID:0.4.0->0.4.1
KtorClient:- New extension fun
HttpResponse#throwOnUnsuccess - All old functions, classes and extensions has been rewritten with new ktor-way with types info and keeping
ContentNegotiationin mind
- New extension fun
Server:- All old functions, classes and extensions has been rewritten with new ktor-way with types info and keeping
ContentNegotiationin mind
- All old functions, classes and extensions has been rewritten with new ktor-way with types info and keeping
ReposKtor:- Fully rewritten work with all declared repositories
- All old functions, classes and extensions has been rewritten with new ktor-way with types info and keeping
ContentNegotiationin mind
0.10.8
Common- Add
Element.isOverflow*extension properties
- Add
0.10.7
Pagination:- Now it is possible to use
doForAll*andgetForAllfunctions in non suspend places
- Now it is possible to use
0.10.6
VersionsKtor:2.0.1->2.0.2
CommonJS:- Add
ResizeObserverfunctionality
- Add
0.10.5
VersionsCompose:1.2.0-alpha01-dev683->1.2.0-alpha01-dev686
ReposAndroid:- New function
SharedPreferencesKeyValueRepo
- New function
FSM- Add
StateHandlingErrorHandlerand opportunity to handle states handling errors
- Add
0.10.4
Versions:Serialization:1.3.2->1.3.3
0.10.3
Versions:Compose:1.2.0-alpha01-dev682->1.2.0-alpha01-dev683
Coroutines:- Fixes in
AccumulatorFlow
- Fixes in
0.10.2
Versions:Compose:1.2.0-alpha01-dev675->1.2.0-alpha01-dev682
0.10.1
Versions:Ktor:2.0.0->2.0.1
Crypto:- Add
hmacSha256 - Add
hex
- Add
0.10.0
Versions:Kotlin:1.6.10->1.6.21Compose:1.1.1->1.2.0-alpha01-dev675Exposed:0.37.3->0.38.2Ktor:1.6.8->2.0.0Dokka:1.6.10->1.6.21
0.9.24
Ktor:Common:- New extension fun
MPPFile#input
- New extension fun
0.9.23
Repos:Exposed:- New property
ExposedRepo#selectAllto retrieve all the rows in the table
- New property
0.9.22
Ktor:Server:- Now
createKtorServerfun is fully customizable
- Now
0.9.21
Repos:Exposed:- fixes in
AbstractExposedWriteCRUDRepo
- fixes in
0.9.20
Repos:Common:- Fixes in
OneToManyAndroidRepo - New
CursorIterator
- Fixes in
0.9.19
Versions:Coroutines:1.6.0->1.6.1
Repos:Exposed:- Fixes in
ExposedStandardVersionsRepoProxy
- Fixes in
0.9.18
Common- New extensions for
Element:Element#onActionOutsideandElement#onClickOutside
- New extensions for
0.9.17
Common:- New extensions
Element#onVisibilityChanged,Element#onVisibleandElement#onInvisible
- New extensions
Coroutines:- New extension
Element.visibilityFlow()
- New extension
FSM:- Now it is possible to resolve conflicts on
startChain
- Now it is possible to resolve conflicts on
0.9.16
Versions:Klock:2.6.3->2.7.0
Common:- New extension
Node#onRemoved Compose:- New extension
Composition#linkWithRootfor removing of composition with root element
- New extension
- New extension
Coroutines:Compose:- New function
renderComposableAndLinkToContextAndRootwith linking of composition to root element
- New function
0.9.15
FSM:- Rename
DefaultUpdatableStatesMachine#comparetoDefaultUpdatableStatesMachine#shouldReplaceJob DefaultStatesManagernow is extendableDefaultStatesMachinewill stop all jobs of states which was removed fromstatesManager
- Rename
0.9.14
Versions:Klock:2.6.2->2.6.3Ktor:1.6.7->1.6.8
Ktor:- Add temporal files uploading functionality (for clients to upload and for server to receive)
0.9.13
Versions:Compose:1.1.0->1.1.1
0.9.12
Common:JS:- New function
openLink - New function
selectFile - New function
triggerDownloadFile
- New function
Compose:- Created :)
Common:DefaultDisposableEffectResultas a default realization ofDisposableEffectResult
JS:openLinkon top ofopenLinkwithStringtarget from common
Coroutines:Compose:Common:- New extension
Flow.toMutableState - New extension
StateFlow.toMutableState
- New extension
JS:- New function
selectFileOrThrowon top ofselectFilefromcommon - New function
selectFileOrNullon top ofselectFilefromcommon
- New function
0.9.11
Versions:Klock:2.6.1->2.6.2
Coroutines:Compose:- Created :)
- New extensions and function:
Composition#linkWithJobComposition#linkWithContextrenderComposableAndLinkToContext
0.9.10
Versions:Klock:2.5.2->2.6.1
- Ktor:
- Client:
- New function
UnifiedRequester#createStandardWebsocketFlowwithoutcheckReconnectionarg
- New function
- Server:
- Now it is possible to filter data in
Route#includeWebsocketHandling - Callback in
Route#includeWebsocketHandlingand dependent methods issuspendsince now - Add
URLProtocolsupport inRoute#includeWebsocketHandlingand dependent methods
- Now it is possible to filter data in
- Client:
0.9.9
Versions:Klock:2.5.1->2.5.2
Common:- Add new diff tool -
applyDiff - Implementation of
IntersectionObserverin JS part (copypaste of this comment)
- Add new diff tool -
0.9.8
Versions:Exposed:0.37.2->0.37.3Klock:2.4.13->2.5.1AppCompat:1.4.0->1.4.1
0.9.7
Repos:Exposed:- Fix in
ExposedOneToManyKeyValueRepo- now it will not useinsertIgnore
- Fix in
Ktor:Server:Route#includeWebsocketHandlingnow will check thatWebSocketsfeature and install it if not
0.9.6
Repos:Exposed:- Fix in
ExposedOneToManyKeyValueRepo- now it will not usedeleteIgnoreWhere
- Fix in
0.9.5
Versions:Klock:2.4.12->2.4.13
0.9.4
Pagination:Common:- Add several
optionallyReversefunctions
- Add several
Common:- Changes in
Either:- Now
EitherusesoptionalT1andoptionalT2as main properties Either#t1andEither#t2are deprecated- New extensions
Either#mapOnFirstandEither#mapOnSecond
- Now
- Changes in
0.9.3
Versions:UUID:0.3.1->0.4.0
0.9.2
Versions:Klock:2.4.10->2.4.12
0.9.1
Repos:Exposed:- Default realizations of standard interfaces for exposed DB are using public fields for now:
ExposedReadKeyValueRepoExposedReadOneToManyKeyValueRepoExposedStandardVersionsRepoProxy
- New typealiases for one to many exposed realizations:
ExposedReadKeyValuesRepoExposedKeyValuesRepo
- Default realizations of standard interfaces for exposed DB are using public fields for now:
0.9.0
Versions:Kotlin:1.5.31->1.6.10Coroutines:1.5.2->1.6.0Serialization:1.3.1->1.3.2Exposed:0.36.2->0.37.2Ktor:1.6.5->1.6.7Klock:2.4.8->2.4.10
0.8.9
Ktor:Server:- Fixes in
uniloadMultipart
- Fixes in
Client:- Fixes in
unimultipart
- Fixes in
FSM:- Fixes in
DefaultUpdatableStatesMachine
- Fixes in
0.8.8
Versions:AppCompat:1.3.1->1.4.0- Android Compile SDK:
31.0.0->32.0.0
FSM:DefaultStatesMachinenow is extendable- New type
UpdatableStatesMachinewith default realizationDefaultUpdatableStatesMachine
0.8.7
Ktor:Client:UnifiedRequesternow have no private fields- Add preview work with multipart
ServerUnifiedRouternow have no private fields- Add preview work with multipart
0.8.6
Common:EitherextensionsonFirstandonSecondnow accept notcrossinlinecallbacks- All
joinTonow accept notcrossinlinecallbacks
0.8.5
Common:repeatOnFailure
0.8.4
Ktor:Server:- Several new
createKtorServer
- Several new
0.8.3
Common:- Ranges intersection functionality
- New type
Optional
Pagination:Paginationnow extendsClosedRange<Int>Paginationintersection functionality
0.8.2
Versions:Klock:2.4.7->2.4.8Serialization:1.3.0->1.3.1
FSM:- Now it is possible to pass any
CheckableHandlerHolderinFSMBuilder - Now
StatesMachineworks withCheckableHandlerHolderinstead ofCustomizableHandlerHolder
- Now it is possible to pass any
0.8.1
Versions:Exposed:0.36.1->0.36.2Core KTX:1.6.0->1.7.0
0.8.0
Versions:Klock:2.4.6->2.4.7Ktor:1.6.4->1.6.5Exposed:0.35.3->0.36.1
Common:- Type
Eithergot its own serializer
- Type
FSM:Common:- 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
StateHandlerHolderhas been renamed toCheckableHandlerHolder
- Add opportunity for comfortable adding default state handler
- Full rework of FSM:
0.7.4
Common:- New type
Either
- New type
Serialization:TypedSerializer- New factory fun which accept vararg pairs of type and its serializer
Repos:Common(Android):AbstractMutableAndroidCRUDRepoflows 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
ExposedKeyValueRepoproperties_onNewValueand_onValueRemovednow are available in inheritors
- New parameter
Pagination:Common:- New types
getAllBy*for current, next and custom paging
- New types
0.7.3
Versions:Exposed:0.35.2->0.35.3
0.7.2
Versions:Klock:2.4.5->2.4.6
0.7.1
Versions:Klock:2.4.3->2.4.5Exposed:0.35.1->0.35.2
Coroutines:Common:- New
Flow-AccumulatorFlow
- New
FSM:Common:InMemoryStatesManagerhas been replacedStatesMachinebecame an interface- New manager
DefaultStatesManagerwithDefaultStatesManagerRepofor abstraction of manager and storing of data info
0.7.0
THIS VERSION HAS MIGRATED FROM KOTLINX DATETIME TO KORLIBS KLOCK. CAREFUL
Versionskotlinx.datetime->Klock
0.6.0 DO NOT RECOMMENDED
THIS VERSION HAS MIGRATED FROM KORLIBS KLOCK TO KOTLINX DATETIME. CAREFUL ALL DEPRECATION HAVE BEEN REMOVED
VersionsKlock->kotlinx.datetime
0.5.31
Versions:Klock:2.4.2->2.4.3Ktor:1.6.3->1.6.4
0.5.30
Versions:Serialization:1.2.2->1.3.0
0.5.29
Versions:Exposed:0.34.2->0.35.1
0.5.28
Versions:Kotlin:1.5.30->1.5.31Klock:2.4.1->2.4.2
0.5.27
Versions:Exposed:0.34.1->0.34.2
0.5.26
Repos:InMemory:MapCRUDRepos andMapKeyValueRepos gotprotectedmethods and properties instead of private
0.5.25
Versions:UUID:0.3.0->0.3.1
Common:- New property
MPPFile#withoutSlashAtTheEnd - Extension
clamphas been deprecated - New extension
Iterable#diff
- New property
Serialization:- New operators
TypedSerializer#plusAssignandTypedSerializer#minusAssign
- New operators
0.5.24
Versions:Coroutines:1.5.1->1.5.2Klock:2.3.4->2.4.1
Coroutines:- New function
CoroutineScopewith safely exceptions handler as second parameter
- New function
0.5.23
Versions:Exposed:0.33.1->0.34.1
Common:- New extensions
Iterable#joinToandArray#joinTo
- New extensions
0.5.22
VersionsKotlin:1.5.21->1.5.30Klock:2.3.2->2.3.4AppCompat:1.3.0->1.3.1Ktor:1.6.2->1.6.3
0.5.21
VersionsKlock:2.3.1->2.3.2
SerializationTyped Serializer:TypedSerializerDescriptor serial name has been fixed
0.5.20
Repos:CommonAndroid:*OrNullanalogs ofCursor.get*(String)extensions have been added- Extensions
Cursor.getFloatandCursor.getFloatOrNullhave been added
0.5.19
LanguageCode:IetfLanguageCodebecame as sealed classIetfLanguageCodenow overridetoStringand returns its code
0.5.18
VersionsKotlin Exposed:0.32.1->0.33.1
LanguageCode:- Module has been created
0.5.17
SINCE THIS UPDATE JS PARTS WILL BE COMPILED WITH IR COMPILER ONLY
VersionsKotlin:1.5.20->1.5.21Ktor:1.6.1->1.6.2Klock:2.2.0->2.3.1CryptoJS:4.0.0->4.1.1
0.5.16
VersionsCoroutines:1.5.0->1.5.1Serialization:1.2.1->1.2.2Ktor:1.6.0->1.6.1Klock:2.1.2->2.2.0Core KTX:1.5.0->1.6.0
0.5.15 HOTFIX FOR 0.5.14
Coroutines- Fixes in
subscribeAsync
- Fixes in
0.5.14 NOT RECOMMENDED
VersionsKotlin:1.5.10->1.5.20
CoroutinessubscribeSafelyWithoutExceptionsgot new parameteronExceptionby analogue withsafelyWithoutExceptions- New extensions
Flow#subscribeAsyncand subsequent analogs ofsubscribewith opportunity to set up custom marker
0.5.13
Common:- Add functionality for multiplatform working with files:
- Main class for files
MPPFile - Inline class for filenames work encapsulation
FileName
- Main class for files
- Add functionality for multiplatform working with files:
FSM- Module inited and in preview state
0.5.12
Common:Android- Extension
View#changeVisibilityhas been fixed
- Extension
AndroidRecyclerView- Default adapter got
dataCountFlowproperty - New subtype of adapter based on
StateFlow:StateFlowBasedRecyclerViewAdapter
- Default adapter got
0.5.11
Repos:Common:- Fixes in
WriteOneToManyRepo#add
- Fixes in
Exposed:- Fixes in
ExposedOneToManyKeyValueRepo#add
- Fixes in
0.5.10
VersionsCore KTX:1.3.2->1.5.0AndroidX Recycler:1.2.0->1.2.1AppCompat:1.2.0->1.3.0
AndroidRecyclerView:dataofRecyclerViewAdapterbecame an abstract field- New function
RecyclerViewAdapter
- New function
Common:- New extension
View#changeVisibility
- New extension
Repos:Common:WriteOneToManyRepogot new functionclearWithValueAndroid:- New extension
SQLiteDatabase#selectDistinct - Fixes in
OneToManyAndroidRepo
- New extension
KtorServer- All elements in configurators became a
fun interface
- All elements in configurators became a
Pagination- New function
doForAllWithCurrentPaging
- New function
0.5.9
ReposCommonOneToManyAndroidRepogot new primary constructor
0.5.8
Common:- New extension
Iterable#firstNotNull
- New extension
Coroutines- New extension
Flow#firstNotNull - New extensions
CoroutineContext#LinkedSupervisorJob,CoroutineScope#LinkedSupervisorJobandCoroutineScope#LinkedSupervisorScope
- New extension
0.5.7
PaginationKtorServer- Fixes in extension
extractPagination
- Fixes in extension
ReposCache- All standard cache repos have been separated to read and read/write repos
0.5.6
VersionsExposed:0.31.1->0.32.1
CoroutinesJVMlaunchSynchronouslyand subsequent functions got improved mechanism
- New method
safelyWithResult
0.5.5
VersionsKtor:1.5.4->1.6.0
0.5.4
Versions:Klock:2.1.0->2.1.2
0.5.3
Versions:Kotlin:1.5.0->1.5.10
Coroutines:- Extensions
doInUIanddoInDefaultwere replaced in common and available on any supported platform - Extension
doInIOreplaced intojvmand available on anyJVMplatform - Old extension
safelyWithouExceptionwithoutonExceptionhas been replaced by its copy withonExceptionand default value- New value
defaultSafelyWithoutExceptionHandlerWithNullwhich is used in all*WithoutExceptionsby default
- New value
- Analogs of
launchandasyncforsafelyandsafelyWithoutExceptionswere added - Analogs of
runCatchingforsafelyandsafelyWithoutExceptionswere added
- Extensions
0.5.2
Ktor:Client:- Fixes in
UnifiedRequester
- Fixes in
0.5.1
Versions:Kotlin Serialization:1.2.0->1.2.1
0.5.0
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
Versions:Kotlin Exposed:0.30.2->0.31.1Kotlin Coroutines:1.4.3->1.5.0RecyclerView:1.1.0->1.2.0Ktor:1.5.3->1.5.4Klock:2.0.7->2.1.0UUID:0.2.4->0.3.0
- ALL DEPRECATIONS WERE REMOVED
Android:Alerts:RecyclerView:- Classes
ActionViewHolderandActionsRecyclerViewAdapterbecame public
- Classes
Coroutines:- New extension and function
doSynchronouslywhich are the same aslaunchSynchronously - New extensions
doInDefaultanddoInIO
- New extension and function
0.4.36
- All
Androidtargets inside common mpp modules now includes JVM code
0.4.35
Versions:Kotlin Exposed:0.30.1->0.30.2
Serialization:TypedSerializer:- Project has been inited
0.4.34
Versions:uuid:0.2.3->0.2.4
Repos:AbstractExposedCRUDReponow implementsStandardCRUDRepoAbstractMutableAndroidCRUDReponow implementsStandardCRUDRepo
0.4.33
Versions:Ktor:1.5.2->1.5.3
Coroutines- Add
WeakJobworkaround:CoroutineScope#weakLaunchCoroutineScope#weakAsync
- Add
0.4.32
Versions:Kotlin Exposed:0.29.1->0.30.1
0.4.31
Versions:Kotlin:1.4.31->1.4.32
Pagination:- New extensions
PaginationResult.changeResultsUncheckedandPaginationResult.changeResultsfor mapping results with the same parameters, but different data - Extension
PaginationResult.thisPageIfNotEmptynow is typed and will returnPaginationResult?with the same generic type as incomePaginationResult - New extension
PaginationResult.currentPageIfNotEmpty- shortcut forPaginationResult.thisPageIfNotEmpty - New common functions. They were created as replacements for currently available for more comfortable work
with repos pagination:
doForAlldoForAllWithNextPagingdoForAllWithCurrentPaginggetAllgetAllWithNextPaginggetAllWithCurrentPaging
- New extensions
Coroutines:- Rewrite
subscribeSafelyWithoutExceptions- Now
subscribeSafelyWithoutExceptionswill use default handler instead of skipping
- Now
- New extension
subscribeSafelySkippingExceptions
- Rewrite
Repos- New subproject
repos.cache- this subproject will contain repos with data caching mechanisms - Most old
doForAllmethods have been deprecated
- New subproject
0.4.30
Versions:Klock:2.0.6->2.0.7
Pagination:- New variable
defaultPaginationPageSizehas been added to be able to change default pagination size - Add new value
firstPageWithOneElementPagination
- New variable
0.4.29
Versions:Coroutines:1.4.2->1.4.3
Repos:CommonAndroid:- New
blockingReadableTransaction/blockingWritableTransaction- Android databases realizations now use blocking transactions where it is possible
- Several improvements in transactions work
- New
0.4.28
Versions:Kotlin:1.4.30->1.4.31Ktor:1.5.1->1.5.2
Coroutines- Add
createActionsActor/createSafeActionsActoranddoWithSuspending
- Add
0.4.27
ReposExposed- Fix in
AbstractExposedWriteCRUDRepo
- Fix in
0.4.26
Versions:Serialization:1.0.1->1.1.0
0.4.25
Matrix:- Subproject has been created
0.4.24
Versions:Kotlin:1.4.21->1.4.30Klock:2.0.4->2.0.6
Coroutines:- New class
DoWithFirstBuilder - Several new extensions like
firstOf/first/invokeOnFirstOf
- New class
0.4.23
Versions:Ktor:1.5.0->1.5.1
SerializationBase64- New serializer
Base64BytesToFromStringSerializerhas been added
- New serializer
0.4.22
Versions:Exposed:0.28.1->0.29.1Klock:2.0.2->2.0.4
0.4.21
CommonJS- Extension
DataView#toByteArrayhas been added - Extension
ArrayBuffer#toByteArrayhas been added - Extension
ByteArray#toDataViewhas been added - Extension
ByteArray#toArrayBufferhas been added
- Extension
CoroutinesJS- Extension
Blob#toByteArrayhas been added
- Extension
Crypto- Subproject has been created
SerializationBase64- Currently, it is not depended on
commonproject and usecryptoinstead
- Currently, it is not depended on
0.4.20
SerializationEncapsulator:- Has been created
0.4.19
Coroutines:- New extension
Iterable<Deferred>#awaitFirstWithDeferredhas been added to identify which ofDeferreds was normally completed - New extensions
Iterable<Deferred<T>>#invokeOnFirstandIterable<DeferredAction<*, O>>.invokeFirstOfhave been added
- New extension
0.4.18
Coroutines:- New extension
Iterable<Deferred>#awaitFirsthas been added
- New extension
SerializationBase 64- New
Base64ByteArraySerializerhas been added
- New
0.4.17
Common- Functionality for decode/encode base 64 to/from
ByteArray/Stringhave been added
- Functionality for decode/encode base 64 to/from
SerializationBase 64- Project has been initiated
0.4.16
Coroutines:safely:- New
safelyWithoutExceptionsfunction may acceptonExceptionparameter with nullable result - Old
safelyWithoutExceptionsnow usingdefaultSafelyWithoutExceptionHandlerto handle exceptions "like insafely", but it is expected thatdefaultSafelyWithoutExceptionHandlerwill not throw any exception
- New
0.4.15
Coroutines:safely:SafelyExceptionHandlerKeyhas been deprecatedSafelyExceptionHandlerhas been deprecatedContextSafelyExceptionHandlerKeyhas been addedContextSafelyExceptionHandlerhas been addedsafelyWithContextExceptionHandlerhas been added
0.4.14
Versions:Kotlin:1.4.20->1.4.21Ktor:1.4.3->1.5.0Klock:2.0.1->2.0.2
Coroutines:- Add global variable
defaultSafelyExceptionHandler - Add
SafelyExceptionHandlerKeyandSafelyExceptionHandlerclasses to be able to overwritedefaultSafelyExceptionHandlerusing context of coroutine
- Add global variable
0.4.13
CommonAndroid- Add expand/collapse functionality for horizontal expand/collapse
0.4.12
CoroutinesJVM- Update
launchSynchronouslysignature
- Update
Selector- Project created
0.4.11
Common- Add
clampfunction
- Add
0.4.10
Versions:Klock:2.0.0->2.0.1
Repo- Repo
WriteStandardKeyValueRepogot new methodunsetWithValues
- Repo
0.4.9
Versions:Ktor:1.4.2->1.4.3
Coroutines:launchSynchronouslyhas been added in JVM
RepoCommon- In repos different usages of
BroadcastChannels has been replaced withMutableSharedFlow
- In repos different usages of
ExposedasObjectopen fun has been added in CRUD realization
0.4.8
Versions:Coroutines:1.4.1->1.4.2UUID:0.2.2->0.2.3
Pagination- Add
PaginatedIterableandPaginatedIterator
- Add
0.4.7
KtorClient- New class
UnifiedRequester
- New class
Server- New class
UnifiedRouter
- New class
ReposKtorClient- Rewriting of all clients on new
UnifiedRequester
- Rewriting of all clients on new
Server- Rewriting of all clients on new
UnifiedRouter
- Rewriting of all clients on new
0.4.6
Common- New annotation
Warninghas been added
- New annotation
PaginationCommonPaginationgot new extension:Pagination#isFirstPage
Coroutines:- New extension
FlowCollector#invokehas been added
- New extension
ReposCommonJVM(andAndroidsinceAndroid API 26):FileStandardKeyValueRepohas been added
- Add several
typealiases for each type of repos
0.4.5
AndroidAlertsCommon- Project has been created
RecyclerView- Project has been created
Common- Annotation
PreviewFeaturehas 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)
- Annotation
0.4.4
Versions:Klock:1.12.1->2.0.0
Commons:- Update left items functionality to include work with
GridLayoutManager
- Update left items functionality to include work with
Repos:- Add interface
VersionsRepo- Add default realization of
VersionsReponamedStandardVersionsRepowhich useStandardVersionsRepoProxyto get access to some end-store - Add default realization of
StandardVersionsRepoProxybased onKeyValuerepos - Add realizations of
StandardVersionsRepoProxyfor exposed and android (SQLandSharedPreferences)
- Add default realization of
Commons:- In Android fully reworked transactions functions
- Now
DatabaseCoroutineContextis a shortcut forDispatchers.IO
- Add interface
0.4.3
Versions:Kotlin:1.4.10->1.4.20
Common:- Two new extensions for Android:
Resources#getSpResources#getDp
- Two new extensions for Android:
0.4.2
Repos:- Add
WriteOneToManyKeyValueRepo#setfunction and extensions
- Add
0.4.1
Repos:- Fixed error in
ExposedKeyValueReporelated to negative size of shared flow - Fixed error in
ExposedKeyValueReporelated to avoiding of table initiation
- Fixed error in
0.4.0
Repos:ReadOneToManyKeyValueRepogotkeysmethod with value parameter- All implementations inside of this library has been updated
ReadStandardKeyValueRepogotkeysmethod with value parameter- All implementations inside of this library has been updated
- New extensions
withMapper
0.3.3
Coroutines:- New extension
Flow<T>#plus
- New extension
0.3.2
Versions:Coroutines:1.4.1->1.4.2
Repos:Common:- New inline function
mapperfor simplier creating ofMapperRepoobjects - Extensions
withMapperfor keyvalue repos and onetomany repos
- New inline function
0.3.1
ANDROID PACKAGES
Android:RecyclerView:- Library has been created
Common- Now available package
dev.inmo:micro_utils.common-android
- Now available package
Coroutines- Now available package
dev.inmo:micro_utils.coroutines-android
- Now available package
KtorCommon- Now available package
dev.inmo:micro_utils.ktor.common-android
- Now available package
Client- Now available package
dev.inmo:micro_utils.ktor.client-android
- Now available package
MimeTypes- Now available package
dev.inmo:micro_utils.mime_types-android
- Now available package
PaginationCommon- Now available package
dev.inmo:micro_utils.pagination.common-android
- Now available package
KtorCommon- Now available package
dev.inmo:micro_utils.pagination.ktor.common-android
- Now available package
ReposCommon- Now available package
dev.inmo:micro_utils.repos.common-android - Now it is possible to use default realizations of repos abstractions natively on android
- Now available package
Inmemory- Now available package
dev.inmo:micro_utils.repos.inmemory-android
- Now available package
KtorCommon- Now available package
dev.inmo:micro_utils.repos.ktor.common-android
- Now available package
Common- Now available package
dev.inmo:micro_utils.repos.ktor.client-android
- Now available package
0.3.0
All deprecations has been removed
Repos:Common:KeyValueandOneToManyrepos lost their deprecated methodsOneToManywrite repos got additional extensions for mutation of repoKeyValuewrite repos got additional extensions for mutation of repo- New interface
MapperRepoand new classes which are using this:KeyValueMapperReadStandardKeyValueRepoMapperWriteStandardKeyValueRepoMapperStandardKeyValueRepo
OneToManyMapperReadOneToManyKeyValueRepoMapperWriteOneToManyKeyValueRepoMapperOneToManyKeyValueRepo
Exposed:- CRUD realizations replaced their channels to shared flows
0.2.7
Versions:Coroutines:1.4.0->1.4.1
Repos:WriteStandardKeyValueRepogot new methodssetandunsetwith collections- All standard realizations of repos got collections methods realizations
- All old usages of
BroadcastFlowandBroadcastChannelhas been replaced withMutableSharedFlow Ktor:Server:- Fixed incorrect answer for
keyvalue
- Fixed incorrect answer for
0.2.6
Pagination- Fixes in function
List#paginate - Extension property
Pagination#lastIndexExclusive
- Fixes in function
0.2.5
Coroutines- Function
safelyWithoutExceptions - Extension
CoroutineScope#safeActor
- Function
0.2.4
VersionsSerialization:1.0.0->1.0.1
Common- Full rework of
DiffUtils- Data class
Diffhas been added - Extension
Iterable#calculateDiffhas been added- Extension
Iterable#calculateStrictDiffas replacement forIterable#calculateDiffwithstrictComparisonmode enabled - Functions
Diff(as analog ofIterable#calculateDiff) andStrictDiff(as analog ofIterable#calculateStrictDiff)
- Extension
- Data class
- Full rework of
CoroutinesBroadcastFlownow is deprecatedBroadcastStateFlownow is deprecated- New extensions for
Flows:Flow#subscribeFlow#subscribeSafelyFlow#subscribeSafelyWithoutExceptions
0.2.3
VersionsCoroutines:1.3.9->1.4.0Exposed:0.27.1->0.28.1
CommonK/JS- Add several extensions for
Elementobjects to detect that object is on screen viewport - Add several extensions for
Elementobjects to detect object visibility
- Add several extensions for
CoroutinesBroadcastStateFlownow use different strategy for getting of state and implementsreplayCache
0.2.2
ReposCommon- Several new methods
ReadOneToManyKeyValueRepo#getAll - Several new method
WriteOneToManyKeyValueRepo#addand several extensions - Several new method
WriteOneToManyKeyValueRepo#removeand several extensions
- Several new methods
0.2.1
PaginationCommon:- Extension
Pagination#reversehas been added - Factory
PaginationByIndexes - Shortcut
calculatePagesNumberwith reversed parameters - Value
emptyPaginationfor emptySimplePaginationcases
- Extension
0.2.0
ReposExposed- Now this project depend on
micro_utils.coroutines - Typealias
ColumnAllocatorhas been replaced to root exposed package - Interface
ExposedRepohas been addedExposedCRUDReponow extendsExposedRepoinstead of simpleRepo
- New extension
initTablefor classes which areTableandExposedRepoat the same time KeyValue:tableNameparameter- Class
AbstractExposedReadKeyValueRepo- Renamed to
ExposedReadKeyValueRepo - Changed incoming types to
ColumnAllocator openinstead ofabstract- Implements
ExposedRepo
- Renamed to
- Class
AbstractExposedKeyValueRepo- Renamed to
ExposedKeyValueRepo - Changed incoming types to
ColumnAllocator openinstead ofabstract
- Renamed to
OneToMany:tableNameparameter- Class
AbstractExposedReadOneToManyKeyValueRepo- Renamed to
ExposedReadOneToManyKeyValueRepo - Changed incoming arguments order
- Implements
ExposedRepo
- Renamed to
- Class
AbstractExposedOneToManyKeyValueRepo- Renamed to
ExposedKeyValueRepo - Changed incoming arguments order
openinstead ofabstract- Release for every
Flowin parent interfaces
- Renamed to
- Now this project depend on
0.1.1
Versions:kotlinx.serialization:1.0.0-RC2->1.0.0
PaginationCommon- Function
calculatePagefor calculating page based on size of page and index of first element - Extension
List#createPaginationResultwhich use index of first element to calculate current page and other info inPaginationResultobject - Factory
emptyPaginationResultfor emptyPaginationResult - Extensions
paginatefor creating ofPaginationResultwhich use as source one of next types:IterableListSet
- Function
ReposCommon- Interfaces related to
OneToManyKeyValueRepowere renamed with convenience toRead/Writemodifier before name- All subclasses were renamed
- Interfaces related to
StandartKeyValueRepowere renamed with convenience toRead/Writemodifier before name- All subclasses were renamed
- Extensions
doForAllandgetAllwere added for all current types of repos:ReadStandardCRUDRepoReadStandardKeyValueRepoReadOneToManyKeyValueRepo
ReadStandardKeyValueRepomethodsvaluesandkeysnow have default value forreversedparameterfalse- New
Flow's inWriteOneToManyKeyValueRepo:onNewValueonValueRemovedonDataCleared
- New function
ReadStandardCRUDRepo#count
- Interfaces related to
In Memory- Package has been created:) you can connect it via
implementation "dev.inmo:micro_utils.repos.inmemory" MapCRUDRepoclass as implementation ofStandardCRUDRepoon top ofMutableMaphas been addedMapKeyValueRepoclass as implementation ofStandardKeyValueRepoon top ofMutableMaphas been addedMapOneToManyKeyValueRepoclass as implementation ofOneToManyKeyValueRepoon top ofMutableMaphas been added
- Package has been created:) you can connect it via
0.1.0
Inited :)