mirror of
https://github.com/InsanusMokrassar/MicroUtils.git
synced 2024-11-16 13:23:49 +00:00
15 KiB
15 KiB
Changelog
0.4.27
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.30
Klock
: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
Serialization
Base64
- New serializer
Base64BytesToFromStringSerializer
has been added
- New serializer
0.4.22
Versions
:Exposed
:0.28.1
->0.29.1
Klock
:2.0.2
->2.0.4
0.4.21
Common
JS
- Extension
DataView#toByteArray
has been added - Extension
ArrayBuffer#toByteArray
has been added - Extension
ByteArray#toDataView
has been added - Extension
ByteArray#toArrayBuffer
has been added
- Extension
Coroutines
JS
- Extension
Blob#toByteArray
has been added
- Extension
Crypto
- Subproject has been created
Serialization
Base64
- Currently, it is not depended on
common
project and usecrypto
instead
- Currently, it is not depended on
0.4.20
Serialization
Encapsulator
:- Has been created
0.4.19
Coroutines
:- New extension
Iterable<Deferred>#awaitFirstWithDeferred
has been added to identify which ofDeferred
s was normally completed - New extensions
Iterable<Deferred<T>>#invokeOnFirst
andIterable<DeferredAction<*, O>>.invokeFirstOf
have been added
- New extension
0.4.18
Coroutines
:- New extension
Iterable<Deferred>#awaitFirst
has been added
- New extension
Serialization
Base 64
- New
Base64ByteArraySerializer
has been added
- New
0.4.17
Common
- Functionality for decode/encode base 64 to/from
ByteArray
/String
have been added
- Functionality for decode/encode base 64 to/from
Serialization
Base 64
- Project has been initiated
0.4.16
Coroutines
:safely
:- New
safelyWithoutExceptions
function may acceptonException
parameter with nullable result - Old
safelyWithoutExceptions
now usingdefaultSafelyWithoutExceptionHandler
to handle exceptions "like insafely
", but it is expected thatdefaultSafelyWithoutExceptionHandler
will not throw any exception
- New
0.4.15
Coroutines
:safely
:SafelyExceptionHandlerKey
has been deprecatedSafelyExceptionHandler
has been deprecatedContextSafelyExceptionHandlerKey
has been addedContextSafelyExceptionHandler
has been addedsafelyWithContextExceptionHandler
has been added
0.4.14
Versions
:Kotlin
:1.4.20
->1.4.21
Ktor
:1.4.3
->1.5.0
Klock
:2.0.1
->2.0.2
Coroutines
:- Add global variable
defaultSafelyExceptionHandler
- Add
SafelyExceptionHandlerKey
andSafelyExceptionHandler
classes to be able to overwritedefaultSafelyExceptionHandler
using context of coroutine
- Add global variable
0.4.13
Common
Android
- Add expand/collapse functionality for horizontal expand/collapse
0.4.12
Coroutines
JVM
- Update
launchSynchronously
signature
- Update
Selector
- Project created
0.4.11
Common
- Add
clamp
function
- Add
0.4.10
Versions
:Klock
:2.0.0
->2.0.1
Repo
- Repo
WriteStandardKeyValueRepo
got new methodunsetWithValues
- Repo
0.4.9
Versions
:Ktor
:1.4.2
->1.4.3
Coroutines
:launchSynchronously
has been added in JVM
Repo
Common
- In repos different usages of
BroadcastChannel
s has been replaced withMutableSharedFlow
- In repos different usages of
Exposed
asObject
open fun has been added in CRUD realization
0.4.8
Versions
:Coroutines
:1.4.1
->1.4.2
UUID
:0.2.2
->0.2.3
Pagination
- Add
PaginatedIterable
andPaginatedIterator
- Add
0.4.7
Ktor
Client
- New class
UnifiedRequester
- New class
Server
- New class
UnifiedRouter
- New class
Repos
Ktor
Client
- 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
Warning
has been added
- New annotation
Pagination
Common
Pagination
got new extension:Pagination#isFirstPage
Coroutines
:- New extension
FlowCollector#invoke
has been added
- New extension
Repos
Common
JVM
(andAndroid
sinceAndroid API 26
):FileStandardKeyValueRepo
has been added
- Add several
typealias
es for each type of repos
0.4.5
Android
Alerts
Common
- Project has been created
RecyclerView
- Project has been created
Common
- Annotation
PreviewFeature
has been added Android
- Added tools to work with visibility in more comfortable way
- Added tools to work with disabled/enabled state in more comfortable way
- Added tools to work with expanded/collapsed state in more comfortable way (in preview mode)
- 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
VersionsRepo
namedStandardVersionsRepo
which useStandardVersionsRepoProxy
to get access to some end-store - Add default realization of
StandardVersionsRepoProxy
based onKeyValue
repos - Add realizations of
StandardVersionsRepoProxy
for exposed and android (SQL
andSharedPreferences
)
- Add default realization of
Commons
:- In Android fully reworked transactions functions
- Now
DatabaseCoroutineContext
is a shortcut forDispatchers.IO
- Add interface
0.4.3
Versions
:Kotlin
:1.4.10
->1.4.20
Common
:- Two new extensions for Android:
Resources#getSp
Resources#getDp
- Two new extensions for Android:
0.4.2
Repos
:- Add
WriteOneToManyKeyValueRepo#set
function and extensions
- Add
0.4.1
Repos
:- Fixed error in
ExposedKeyValueRepo
related to negative size of shared flow - Fixed error in
ExposedKeyValueRepo
related to avoiding of table initiation
- Fixed error in
0.4.0
Repos
:ReadOneToManyKeyValueRepo
gotkeys
method with value parameter- All implementations inside of this library has been updated
ReadStandardKeyValueRepo
gotkeys
method 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
mapper
for simplier creating ofMapperRepo
objects - Extensions
withMapper
for 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
Ktor
Common
- 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
Pagination
Common
- Now available package
dev.inmo:micro_utils.pagination.common-android
- Now available package
Ktor
Common
- Now available package
dev.inmo:micro_utils.pagination.ktor.common-android
- Now available package
Repos
Common
- Now available package
dev.inmo:micro_utils.repos.common-android
- Now it is possible to use default realizations of repos abstractions natively on android
- Now available package
Inmemory
- Now available package
dev.inmo:micro_utils.repos.inmemory-android
- Now available package
Ktor
Common
- 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
:KeyValue
andOneToMany
repos lost their deprecated methodsOneToMany
write repos got additional extensions for mutation of repoKeyValue
write repos got additional extensions for mutation of repo- New interface
MapperRepo
and new classes which are using this:KeyValue
MapperReadStandardKeyValueRepo
MapperWriteStandardKeyValueRepo
MapperStandardKeyValueRepo
OneToMany
MapperReadOneToManyKeyValueRepo
MapperWriteOneToManyKeyValueRepo
MapperOneToManyKeyValueRepo
Exposed
:- CRUD realizations replaced their channels to shared flows
0.2.7
Versions
:Coroutines
:1.4.0
->1.4.1
Repos
:WriteStandardKeyValueRepo
got new methodsset
andunset
with collections- All standard realizations of repos got collections methods realizations
- All old usages of
BroadcastFlow
andBroadcastChannel
has 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
Versions
Serialization
:1.0.0
->1.0.1
Common
- Full rework of
DiffUtils
- Data class
Diff
has been added - Extension
Iterable#calculateDiff
has been added- Extension
Iterable#calculateStrictDiff
as replacement forIterable#calculateDiff
withstrictComparison
mode enabled - Functions
Diff
(as analog ofIterable#calculateDiff
) andStrictDiff
(as analog ofIterable#calculateStrictDiff
)
- Extension
- Data class
- Full rework of
Coroutines
BroadcastFlow
now is deprecatedBroadcastStateFlow
now is deprecated- New extensions for
Flow
s:Flow#subscribe
Flow#subscribeSafely
Flow#subscribeSafelyWithoutExceptions
0.2.3
Versions
Coroutines
:1.3.9
->1.4.0
Exposed
:0.27.1
->0.28.1
Common
K/JS
- Add several extensions for
Element
objects to detect that object is on screen viewport - Add several extensions for
Element
objects to detect object visibility
- Add several extensions for
Coroutines
BroadcastStateFlow
now use different strategy for getting of state and implementsreplayCache
0.2.2
Repos
Common
- Several new methods
ReadOneToManyKeyValueRepo#getAll
- Several new method
WriteOneToManyKeyValueRepo#add
and several extensions - Several new method
WriteOneToManyKeyValueRepo#remove
and several extensions
- Several new methods
0.2.1
Pagination
Common
:- Extension
Pagination#reverse
has been added - Factory
PaginationByIndexes
- Shortcut
calculatePagesNumber
with reversed parameters - Value
emptyPagination
for emptySimplePagination
cases
- Extension
0.2.0
Repos
Exposed
- Now this project depend on
micro_utils.coroutines
- Typealias
ColumnAllocator
has been replaced to root exposed package - Interface
ExposedRepo
has been addedExposedCRUDRepo
now extendsExposedRepo
instead of simpleRepo
- New extension
initTable
for classes which areTable
andExposedRepo
at the same time KeyValue
:tableName
parameter- Class
AbstractExposedReadKeyValueRepo
- Renamed to
ExposedReadKeyValueRepo
- Changed incoming types to
ColumnAllocator
open
instead ofabstract
- Implements
ExposedRepo
- Renamed to
- Class
AbstractExposedKeyValueRepo
- Renamed to
ExposedKeyValueRepo
- Changed incoming types to
ColumnAllocator
open
instead ofabstract
- Renamed to
OneToMany
:tableName
parameter- Class
AbstractExposedReadOneToManyKeyValueRepo
- Renamed to
ExposedReadOneToManyKeyValueRepo
- Changed incoming arguments order
- Implements
ExposedRepo
- Renamed to
- Class
AbstractExposedOneToManyKeyValueRepo
- Renamed to
ExposedKeyValueRepo
- Changed incoming arguments order
open
instead ofabstract
- Release for every
Flow
in parent interfaces
- Renamed to
- Now this project depend on
0.1.1
Versions
:kotlinx.serialization
:1.0.0-RC2
->1.0.0
Pagination
Common
- Function
calculatePage
for calculating page based on size of page and index of first element - Extension
List#createPaginationResult
which use index of first element to calculate current page and other info inPaginationResult
object - Factory
emptyPaginationResult
for emptyPaginationResult
- Extensions
paginate
for creating ofPaginationResult
which use as source one of next types:Iterable
List
Set
- Function
Repos
Common
- Interfaces related to
OneToManyKeyValueRepo
were renamed with convenience toRead
/Write
modifier before name- All subclasses were renamed
- Interfaces related to
StandartKeyValueRepo
were renamed with convenience toRead
/Write
modifier before name- All subclasses were renamed
- Extensions
doForAll
andgetAll
were added for all current types of repos:ReadStandardCRUDRepo
ReadStandardKeyValueRepo
ReadOneToManyKeyValueRepo
ReadStandardKeyValueRepo
methodsvalues
andkeys
now have default value forreversed
parameterfalse
- New
Flow
's inWriteOneToManyKeyValueRepo
:onNewValue
onValueRemoved
onDataCleared
- 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"
MapCRUDRepo
class as implementation ofStandardCRUDRepo
on top ofMutableMap
has been addedMapKeyValueRepo
class as implementation ofStandardKeyValueRepo
on top ofMutableMap
has been addedMapOneToManyKeyValueRepo
class as implementation ofOneToManyKeyValueRepo
on top ofMutableMap
has been added
- Package has been created:) you can connect it via
0.1.0
Inited :)