Skip to content

Releases: conena/nanokt

1.2.0

20 May 10:05
1.2.0
0f3315d
Compare
Choose a tag to compare

Changelog

All

  • Updated kotlin to 1.9.24

nanokt

  • Add Iterable.toArrayList

nanokt-android

  • Add Uri.toFileOrNull
  • Add Uri.Builder.appendQueryParameters
  • Fix Tile.update

1.1.0

23 Feb 23:50
1.1.0
568cc1e
Compare
Choose a tag to compare

Changelog

All

  • Updated kotlin to 1.9.22

nanokt-jvm

  • Add String.isUUID
  • Add String.toUUID
  • Add String.toUUIDorNull

nanokt-android

  • [Breaking] This release requires compileSdk 34 or higher
  • [Breaking] Add throwable parameter to all logXXX methods
  • [Breaking] Make Context.systemServices.consumerIrManager nullable
  • Add Context.systemServices.credentialManager
  • Add Context.systemServices.deviceLockManager
  • Add Context.systemServices.healthConnectManager
  • Add Context.systemServices.overlayManager
  • Add Context.systemServices.virtualDeviceManager
  • Add Intent.isClearTask
  • Add Intent.setClearTask

nanokt-android-threads

  • [Breaking] This release requires compileSdk 34 or higher
  • Add isMainThread
  • Add Thread.isMainThread

1.0.0

19 Dec 15:42
8491a2e
Compare
Choose a tag to compare

I'm very excited to announce the stable release of NanoKt! 🎉

Changelog

nanokt

  • [Breaking] Remove Map.forEachCompat. You can replace it with Map.forEach from the standard library with destructuring declarations syntax
  • Add CharSequence.isEmptyOrBlank
  • Add CharSequence.isNotEmptyOrBlank
  • Add Iterator.nextOrNull

nanokt-jvm

  • Add Calendar.era
  • Add Calendar.year
  • Add Calendar.month
  • Add Calendar.weekOfYear
  • Add Calendar.weekOfMonth
  • Add Calendar.dayOfMonth
  • Add Calendar.dayOfYear
  • Add Calendar.dayOfWeek
  • Add Calendar.dayOfWeekInMonth
  • Add Calendar.hour
  • Add Calendar.hourOfDay
  • Add Calendar.minute
  • Add Calendar.second
  • Add Calendar.millisecond
  • Add Calendar.isAM
  • Add Calendar.isPM

1.0.0-beta07

17 Nov 18:33
0726251
Compare
Choose a tag to compare

Changelog

All

  • Updated kotlin to 1.9.20

nanokt-android

  • [Breaking] Rename Context.settings.adbEnabled to Context.settings.isAdbEnabled
  • [Breaking] Rename Context.settings.airplaneModeEnabled to Context.settings.isAirplaneModeEnabled
  • [Breaking] Rename Context.settings.alwaysFinishActivities to Context.settings.isAlwaysFinishActivities
  • [Breaking] Rename Context.settings.bluetoothEnabled to Context.settings.isBluetoothEnabled
  • [Breaking] Rename Context.settings.dataRoamingEnabled to Context.settings.isDataRoamingEnabled
  • [Breaking] Rename Context.settings.developerOptionsEnabled to Context.settings.isDeveloperOptionsEnabled
  • [Breaking] Rename Context.settings.mobileDataEnabled to Context.settings.isMobileDataEnabled
  • [Breaking] Rename Context.settings.wifiEnabled to Context.settings.isWifiEnabled
  • [Breaking] Rename Context.settings.accessibilityEnabled to Context.settings.isAccessibilityEnabled
  • [Breaking] Rename View.focus to View.hasFocusCompat
  • [Breaking] Rename View.inputActive to View.isInputActive
  • [Breaking] Rename View.setTooltipText to View.setTooltipTextCompat
  • View.setTooltipTextCompat now also accepts null values and works on all API levels.
  • [Behavior change] logXXX functions are no longer inlined because of KT-8628
  • Added Parcel.use
  • Added View.setStateDescription
  • Added View.setAccessibilityPaneTitle

1.0.0-beta06

07 Oct 16:32
8585c12
Compare
Choose a tag to compare

Changelog

I'm thrilled to introduce the latest beta release, a crucial step towards stability! In my quest for perfection, I've revamped method and parameter names for consistency. While it might seem like a lot of changes, adapting to them usually takes just a few minutes.

All

  • Updated kotlin to 1.9.10

nanokt

  • [Breaking] Move number extensions from com.conena.nanokt to com.conena.nanokt.numbers
  • [Breaking] Make the receiver for number extensions isNegative, isPositive, isZero, isNotNegative, isNotPositive and isNotZero not nullable
  • Add Double.zeroAsNull
  • Add Double.negativeAsNull
  • Add Double.negativeAsZero
  • Add Double.positiveAsNull
  • Add Double.positiveAsZero
  • Add Double.isNegative
  • Add Double.isPositive
  • Add Double.isZero
  • Add Double.isNotNegative
  • Add Double.isNotPositive
  • Add Double.isNotZero
  • Add Double?.isNullOrNegative
  • Add Double?.isNullOrPositive
  • Add Double?.isNullOrZero
  • Add Double?.nullAsZero
  • Add Float.zeroAsNull
  • Add Float.negativeAsNull
  • Add Float.negativeAsZero
  • Add Float.positiveAsNull
  • Add Float.positiveAsZero
  • Add Float.isNegative
  • Add Float.isPositive
  • Add Float.isZero
  • Add Float.isNotNegative
  • Add Float.isNotPositive
  • Add Float.isNotZero
  • Add Float?.isNullOrNegative
  • Add Float?.isNullOrPositive
  • Add Float?.isNullOrZero
  • Add Float?.nullAsZero

nanokt-android

  • [Breaking] Rename ClipboardUtils to ClipboardManagerUtils
  • [Breaking] Rename Context.share to Context.startSendActivityChooser
  • [Breaking] Rename Context.startMailApplication to Context.startSendMailActivity
  • [Breaking] Rename Context.showAppInPlayStore to Context.startPlayStoreForApp
  • [Breaking] Rename Context.showDeveloperInPlayStore to Context.startPlayStoreForDeveloper
  • [Breaking] Rename Context.showTestTrackInPlayStore to Context.startPlayStoreForTestTrack
  • [Breaking] Rename Context.openAppSettings to Context.startAppSettings
  • [Breaking] Rename Context.openAppNotificationChannelSettings to Context.startAppNotificationChannelSettings
  • [Breaking] Rename Context.openWebsite to Context.startBrowser
  • [Breaking] Add chooserIntentEditor and intentEditor parameter to Context.startSendActivityChooser
  • [Breaking] Add browserAsFallback and intentEditor parameter to Context.startPlayStoreForApp
  • [Breaking] Add browserAsFallback and intentEditor parameter to Context.startPlayStoreForDeveloper
  • [Breaking] Add intentEditor, packageName and setPackageUri parameter to Context.startAppSettings
  • [Breaking] Add intentEditor, startBrowser and useFallback parameter to Context.startPlayStoreForTestTrack
  • [Breaking] Add intentEditor parameter to Context.startBrowser
  • [Breaking] Add intentEditor parameter to Context.startSendActivityChooser
  • [Breaking] Add intentEditor parameter to Context.startSendMailActivity
  • [Breaking] Add intentEditor parameter to Context.openAppNotificationChannelSettings
  • [Breaking] Remove Context.showAppInPlayStoreWebsite
  • [Breaking] Remove Context.showAppInPlayStoreApp
  • [Breaking] Remove Context.showDeveloperInPlayStoreWebsite
  • [Breaking] Remove Context.showDeveloperInPlayStoreApp
  • [Breaking] Remove createIntentFilter
  • [Breaking] Move createSendIntent and createMailSendIntent from top level to IntentCompanion
  • [Breaking] Move and rename getPlayStoreUriForApp,getPlayStoreUriForDeveloper and getTestTrackWebsiteUriForApp from top level to UriCompanion
  • [Breaking] Move IntentFilter.addActions from IntentUtils to IntentFilterUtils
  • [Breaking] Make generateLogTag internal
  • [Behavior change] Invoke intentEditor parameter as last step before starting the activity.
  • Improve ContextUtils documentation
  • Add missing CheckResult annotations
  • Add Context.startSettings
  • Add ClipData.items
  • Add ByteArray.decodeToBitmap
  • Add TileService.updateTile
  • Add IntentFilter.addCategories
  • Add IntentFilter.addDataSchemes
  • Add IntentFilter.addDataTypes
  • Add Intent.setClearTop
  • Add Intent.setExcludeFromRecents
  • Add Intent.setForwardResult
  • Add Intent.setLaunchAdjacent
  • Add Intent.setMatchExternal
  • Add Intent.setMultipleTask
  • Add Intent.setNewDocument
  • Add Intent.setNewTask
  • Add Intent.setNoAnimation
  • Add Intent.setNoHistory
  • Add Intent.setNoUserAction
  • Add Intent.setPreviousIsTop
  • Add Intent.setReorderToFront
  • Add Intent.setRequireDefault
  • Add Intent.setRequireNonBrowser
  • Add Intent.setResetTaskIfNeeded
  • Add Intent.setRetainInRecents
  • Add Intent.setSingleTop
  • Add Intent.setTaskOnHome
  • Add Intent.isClearTop
  • Add Intent.isExcludeFromRecents
  • Add Intent.isForwardResult
  • Add Intent.isLaunchAdjacent
  • Add Intent.isMatchExternal
  • Add Intent.isMultipleTask
  • Add Intent.isNewDocument
  • Add Intent.isNewTask
  • Add Intent.isNoAnimation
  • Add Intent.isNoHistory
  • Add Intent.isNoUserAction
  • Add Intent.isPreviousIsTop
  • Add Intent.isReorderToFront
  • Add Intent.isRequireDefault
  • Add Intent.isRequireNonBrowser
  • Add Intent.isResetTaskIfNeeded
  • Add Intent.isRetainInRecents
  • Add Intent.isSingleTop
  • Add Intent.isTaskOnHome

nanokt-jvm

  • Add Any?.identityHashCode
  • Add File.totalLength

1.0.0-beta05

29 Apr 15:02
583582f
Compare
Choose a tag to compare

Changelog

All

  • Updated kotlin to 1.8.20

nanokt-android

  • [Breaking] Move CompoundButton extensions to separate file
  • Added View.setContentDescription
  • Added View.setTooltipText
  • Added Context.applicationLabel
  • Added Context.packageInfo

1.0.0-beta04

30 Mar 20:08
9b34e60
Compare
Choose a tag to compare

Changelog

This release contains some breacking changes, but these are necessary and in the interest of the long-term development of the library. This is probably one of the last beta releases before the release of the stable version.

All

  • New com.conena.nanokt.annotations.ExperimentalNanoKtApi annotates experimental functions across all artifacts

nanokt

  • [Breaking] Removed MutableCollection.removeIfCompat in favor of MutableIterable.removeAll from the standard library
  • [Breaking] Changed MutableCollection.removeIfAndGet to MutableIterable.removeAllAndGet to be consistent with the standard library
  • [Breaking] Renamed the parameter value to element in several functions to be consistent with the standard library
  • [Breaking] Aligned packaging to the standard library
  • Added MutableCollection.addNotNull
  • Added MutableCollection.addAllNotNull
  • Added MutableIterator.removeIf
  • Added Result.mapFailure
  • Added Result.component1 operator function
  • Added Result.component2 operator function
  • Added experimental Predicate object

nanokt-jvm

  • [Breaking] Aligned packaging to the standard library

nanokt-android

  • [Breaking] Renamed the parameter value to element in several functions to be consistent with the standard library
  • [Breaking] Replaced com.conena.nanokt.android.ExperimentalNanoKtAndroidApi in favor of com.conena.nanokt.annotations.ExperimentalNanoKtApi.
  • [Breaking] Fixed DialogFragment.showIfStateIsNotSaved if a FragmentManager was passed as argument and removed overloaded method with the FragmentTransaction as argument
  • Added Service.stopForegroundCompat
  • Added Service.stopForegroundAndRemoveNotification
  • Added Service.stopForegroundAndDetachNotification
  • Added Activity.startActivity (More efficient than Context.startActivity)
  • Added parameter intentEditor to Context.startActivity to allow the modification of the launch intent

1.0.0-beta03

18 Feb 17:24
1f7de19
Compare
Choose a tag to compare

Changelog

All

  • Updated kotlin to 1.8.10

nanokt

  • Added Map.forEachCompat
  • Added MutableCollection.removeIfAndGet
  • Added Int.isFlagSet
  • Added Int.addFlag
  • Added Int.removeFlag
  • Added Int.getBitFlags
  • Added Long.isFlagSet
  • Added Long.addFlag
  • Added Long.removeFlag
  • Added Long.getBitFlags

nanokt-jvm

  • Added extensions for java.lang.reflect.Field

nanokt-android

  • [Breaking] Methods that were previously annotated with @RestrictTo(RestrictTo.Scope.LIBRARY) are now internal.
  • Added Context.defaultSharedPreferences
  • Added Intent.startActivity
  • Added Intent.startActivityCatching
  • Added Message.use

nanokt-android-threads

  • [Breaking] Methods that were previously annotated with @RestrictTo(RestrictTo.Scope.LIBRARY) are now internal.

1.0.0-beta02

29 Jan 17:08
a3d7dab
Compare
Choose a tag to compare

Changelog

nanokt-jvm

  • Added Long.format
  • Added Int.format
  • Added Long.toDate
  • Added Date.format

nanokt-android

  • [Breaking] Moved ThreadUtils to nanokt-android-threads
  • Added Bitmap.use
  • Added String.toColorIntOrNull
  • Added Int.toHexColor

nanokt-android-threads

  • Initial release