66 KiB
Changelog
0.25.0
Repos:Cache:- All cache repos now do not have
openvals - to avoid collisions in runtime
- All cache repos now do not have
0.24.8
Versions:Ktor:3.1.0->3.1.1KSP:2.1.10-1.0.30->2.1.10-1.0.31
Common:Compose:- Add component
LoadableComponent
- Add component
Coroutines:- Add
SortedBinaryTreeNode
- Add
Pagination:Compose:- Add components
PagedComponentandInfinityPagedComponent
- Add components
0.24.7
Versions:SQLite:3.49.0.0->3.49.1.0
Common:- Add
retryOnFailureutility for simple retries code writing
- Add
Repos:Cache:- Fix of
FullKeyValueCacheRepofields usage
- Fix of
Exposed:AbstractExposedKeyValuesRepowill produceonValueRemovedevent onsetif some data has been removed
0.24.6
Versions:KSLog:1.4.0->1.4.1Exposed:0.58.0->0.59.0SQLite:3.48.0.0->3.49.0.0AndroidFragment:1.8.5->1.8.6
Coroutines:- Safely functions has been replaced with
Loggingvariations (resolve of #541)
- Safely functions has been replaced with
KSP:Variations:- Module has been created
0.24.5
Versions:Kotlin:2.1.0->2.1.10SQLite:3.47.2.0->3.48.0.0Koin:4.0.1->4.0.2Android RecyclerView:1.3.2->1.4.0
0.24.4
Repos:Exposed:- Improve
CommonExposedRepo.selectByIds
- Improve
FSM:- Fixes and improvements
0.24.3
Ksp:Sealed:- Fixes in processing of
GenerateSealedTypesWorkaroundannotations
- Fixes in processing of
0.24.2
Versions:Exposed:0.57.0->0.58.0
Ksp:Sealed:- Add annotation
GenerateSealedTypesWorkaroundwhich allow to generatesubtypeslists
- Add annotation
0.24.1
Versions:Serialization:1.7.3->1.8.0SQLite:3.47.1.0->3.47.2.0Koin:4.0.0->3.10.2OKio:3.9.1->3.10.2
0.24.0
Versions:Coroutines:1.9.0->1.10.1KSLog:1.3.6->1.4.0Compose:1.7.1->1.7.3Ktor:3.0.2->3.0.3
Common:- Rename
Progressto more commonPercentage.Progressnow is typealias - Fix of
Progress.compareToextension
- Rename
0.23.2
Versions:Kotlin:2.0.21->2.1.0Exposed:0.56.0->0.57.0Xerial SQLite:3.47.0.0->3.47.1.0Ktor:3.0.1->3.0.2
Coroutines:- Small refactor in
AccumulatorFlowto userunCatchinginstead ofrunCatchingSafely
- Small refactor in
0.23.1
Versions:Compose:1.7.0->1.7.1Exposed:0.55.0->0.56.0Xerial SQLite:3.46.1.3->3.47.0.0Android CoreKTX:1.13.1->1.15.0Android Fragment:1.8.4->1.8.5
Coroutines:Compose:- Add
StyleSheetsAggregator
- Add
0.23.0
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
Versions:Ktor:2.3.12->3.0.1
Ktor:Common:- Extension
Input.downloadToTempFilehas changed its receiver toSource. Its API can be broken
- Extension
Client:- Extension
HttpClient.tempUploadhas changed type ofonUploadargument fromOnUploadCallbacktoProgressListener - All extensions
HttpClient.uniUploadhave changed type ofonUploadargument fromOnUploadCallbacktoProgressListener
- Extension
Server:- Remove redundant
ApplicationCall.respondextension due to its presence in the ktor library
- Remove redundant
0.22.9
Repos:Cache:- Add direct caching repos
0.22.8
Common:- Add
List.breakAsPairsextension - Add
Sequence.padWith/Sequence.padStart/Sequence.padEndandList.padWith/List.padStart/List.padEndextensions
- Add
0.22.7
Versions:Kotlin:2.0.20->2.0.21Compose:1.7.0-rc01->1.7.0
KSP:Sealed:- Change package of
GenerateSealedWorkaround. Migration: replacedev.inmo.microutils.kps.sealed.GenerateSealedWorkaround->dev.inmo.micro_utils.ksp.sealed.GenerateSealedWorkaround
- Change package of
0.22.6
KSP:Generator:- Add extension
KSClassDeclaration.buildSubFileName - Add extension
KSClassDeclaration.companion - Add extension
KSClassDeclaration.resolveSubclasses
- Add extension
Sealed:- Improvements
0.22.5
Versions:Compose:1.7.0-beta02->1.7.0-rc01SQLite:3.46.1.2->3.46.1.3AndroidXFragment:1.8.3->1.8.4
Common:- Add extension
withReplacedAt/withReplaced(#489)
- Add extension
Coroutines:- Add extension
Flow.debouncedBy
- Add extension
Ktor:Server:- Add
KtorApplicationConfigurator.Routing.Staticas solution for #488
- Add
0.22.4
Versions:Exposed:0.54.0->0.55.0SQLite:3.46.1.0->3.46.1.2
0.22.3
Versions:Serialization:1.7.2->1.7.3Coroutines:1.8.1->1.9.0Compose:1.7.0-alpha03->1.7.0-beta02Koin:3.5.6->4.0.0Okio:3.9.0->3.9.1AndroidFragment:1.8.2->1.8.3androidx.compose.material3:material3has been replaced withorg.jetbrains.compose.material3:material3
Common:JS:- Add several useful extensions
Compose:JS:- Add several useful extensions
0.22.2
Versions:Exposed:0.53.0->0.54.0SQLite:3.46.0.1->3.46.1.0
0.22.1
Versions:Kotlin:2.0.10->2.0.20Serialization:1.7.1->1.7.2KSLog:1.3.5->1.3.6Compose:1.7.0-alpha02->1.7.0-alpha03Ktor:2.3.11->2.3.12
0.22.0
THIS UPDATE CONTAINS BREAKING CHANGES ACCORDING TO UPDATE UP TO KOTLIN 2.0
Versions:Kotlin:1.9.23->2.0.10Serialization:1.6.3->1.7.1KSLog:1.3.4->1.3.5Compose:1.6.2->1.7.0-alpha02Exposed:0.50.1->0.53.0AndroidAppCompat:1.6.1->1.7.0AndroidFragment:1.7.1->1.8.2
0.21.6
KSP:Sealed:- Fixes in generation
0.21.5
KSP:- Add utility functions
KSClassDeclaration.findSubClasses Sealed:- Improve generation
- Add utility functions
0.21.4
Common:Compose:- Add support of mingw, linux, arm64 targets
Coroutines:Compose:- Add support of mingw, linux, arm64 targets
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
0.21.3
Colors:- Added as a module. It should be used by default in case you wish all the API currently realized for
HEXAColor
- Added as a module. It should be used by default in case you wish all the API currently realized for
Coroutines:- Fix of #374:
- Add vararg variants of
awaitFirst - Add
joinFirst
- Add vararg variants of
- Fix of #374:
0.21.2
KSP:ClassCasts:- Module has been initialized
0.21.1
KSP:- Module has been initialized
Generator:- Module has been initialized
Sealed:- Module has been initialized
0.21.0
THIS UPDATE CONTAINS BREAKING CHANGES IN safely*-ORIENTED FUNCTIONS
Coroutines:- All
safelyfunctions lost theirsupervisorScopein favor to wrappingrunCatchingrunCatchingSafelyis the main handling function of allsafelyfunctionslaunchSafely*andasyncSafely*blocks lostCoroutineScopeas their receiver
- All
0.20.52
Coroutines:- Small rework of weak jobs: add
WeakScopefactory, rename old weal extensions and add kdocs
- Small rework of weak jobs: add
0.20.51
Versions:Android Fragment:1.7.0->1.7.1
Pagination:- Add
Pagination.nextPageIfTrueandPagination.thisPageIftrueextensions to get the page according to condition pass status - Add
PaginationResult.nextPageIfNotEmptyOrLastPageandPaginationResult.thisPageIfNotEmptyOrLastPage - Change all
doForAllandgetAllextensions fo pagination to work basing onnextPageIfNotEmptyOrLastPageandthisPageIfNotEmptyOrLastPage
- Add
0.20.50
Versions:Coroutines:1.8.0->1.8.1KSLog:1.3.3->1.3.4Exposed:0.50.0->0.50.1Ktor: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,SmartSemaphoreandSmartRWLockeras their user changed their state flow toSpecialMutableStateFlow
0.20.49
Repos:Common:- All
Repos getdiffextensions KeyValueRepoandKeyValuesRepogetapplyDiffextension- Add new extensions
on*flows for crud repos
- All
0.20.48
Versions:Android Core KTX:1.13.0->1.13.1AndroidX Fragment:1.6.2->1.7.0
0.20.47
Versions:Exposed:0.49.0->0.50.0
0.20.46
Common:- Now this repo depends on
klock - Add new object-serializer
DateTimeSerializerforklockserializer
- Now this repo depends on
0.20.45
Versions:Android Core KTX:1.12.0->1.13.0
0.20.44
Versions:Compose:1.6.1->1.6.2Koin:3.5.4->3.5.6
0.20.43
Versions:Ktor:2.3.9->2.3.10Koin:3.5.3->3.5.4
0.20.42
Repos:Generator:- Improvements
0.20.41
Repos:Exposed:AbstractExposedKeyValueRepo,ExposedKeyValueRepo,AbstractExposedKeyValuesRepo,ExposedKeyValuesRepogot opportunity to setup some part of their flows
0.20.40
Versions:KSLog:1.3.2->1.3.3Exposed:0.48.0->0.49.0UUID:0.8.2->0.8.4
0.20.39
Versions:Kotlin:1.9.22->1.9.23Korlibs:5.3.2->5.4.0Okio:3.8.0->3.9.0Compose:1.6.0->1.6.1ComposeMaterial3:1.2.0->1.2.1
0.20.38
Versions:Ktor:2.3.8->2.3.9
0.20.37
Versions:Compose:1.5.12->1.6.0Exposed:0.47.0->0.48.0
0.20.36
Versions:Serialization:1.6.2->1.6.3Korlibs:5.3.1->5.3.2
Repos:Cache:- Improve work and functionality of
actualizeAlland subsequent functions - All internal repos
invalidate/actualizeAllnow use commonactualizeAllfunctions
- Improve work and functionality of
0.20.35
Versions:Coroutines:1.7.3->1.8.0Material3:1.1.2->1.2.0
0.20.34
Repos:Common:- Improve default
setrealization ofKeyValuesRepo
- Improve default
0.20.33
ColorsCommon:- Add opportunity to use
HEXAColorwithahexcolors
- Add opportunity to use
0.20.32
Versions:Okio:3.7.0->3.8.0
Resources:- Make
StringResourceserializable - Add several variants of builder usages
- Make
0.20.31
Versions:Ktor:2.3.7->2.3.8
0.20.30
Versions:Exposed:0.46.0->0.47.0
0.20.29
Versions:Kotlin:1.9.21->1.9.22Compose:1.5.11->1.5.12Korlibs:5.3.0->5.3.1
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 :)