Published 2025-10-14
Core (base) classes (no widgets).

StringExtension._MediaSides enum removed, was almost a duplicate of MediaSides enum.discarded_futures lint.unawaited_futures lint.isEZ/isDZ.HHUuidFactory is a singleton now.HHUuidFactory generates uuid v4 (was v1) for serverpod compatibility.User to DesktopUser.IApplication to pkg_core_flutter.IApplication abstract class.StringExtension.toUint8List.JsonObjectV2/V2(recursive: true) default set to false to prevent nested JsonObjects that do more harm than good.JsonObjectV1.length takes data as list into account.JsonObjectV1.isEmpty takes data as list into account.JsonObjectV1.isNotEmpty takes data as list into account.double.equals and double.notEquals that takes NaN into account (see IEEE 754).stringFromEnvironment now also reads plain .env files (if any).StringExtension.insertAt.dart_code_linter (due to constant out-of-date dependencies), replaced with lint (strict) lints.dart_code_linter lints.File.renameSync function to File.renameSyncSafe because it shadowed the renameSync function already present in the File class and thus did not use the one from pkg_core (the original crashes when we try to rename a file from /tmp to /Users/Share/Downloads when the paths are on different disks).HHUuidFactory performance tests.toLocal parameter to datetime formatters.HHTracerMixin refactored.timeago for get_time_ago.percentage.percentageDifference.reDimensions to recognize float values.String.getDimensions.List.notContains.int.toColumnName to get spreadsheet column names from indexes (zero based).String.toColumnIndex to get indexes from column names.List::containsAll.MediaProduction enum and detection.MediaSides.DoubleExtension::toInt8 to convert a double from 0..1 to 0..255.String::containsAll and String::containsAllIgnoreCase.uMultiply and uMinus character constants.StringExtention::toBase64encodedString.StringExtention::fromBase64encodedString.ByteData::asString extension.String::toByteData.IDisposable interface.IUuidFactory interface.StringExtension::getRange now does substring because of unpredicatable results.pkg_core_flutter.JsonObject::doQuery.StringExtension::betweenAndIncluding.HHAsyncStringCallback.toSafeFilename map hyphens.PdfRect, left, right, top, bottom.kMinimumWindowWidth.kMinimumWindowHeight.`DateTimeExtension::numberOfWeeksInYear.DateTimeExtension::weekNumber.String::notEqualsAnyIgnoreCase.JsonObject.stringEncoders.String::removeFirst.String::removeAll.Runnable and AsyncRunnable.AsyncRunnable.DirectoryExtension::resolvedPath was not absolute.utils/environment from dart_hh.waar to BoolExtension::parse.Runnable class.DirectoryExtension::withPrefix.DirectoryExtension::withSuffix.kMinIntValue.kMaxIntValue.RectangleExtension::formatDimensions.HHFormattersMixin::formatDimensions.round parameter on formatDimensions.reNxPrinten.Stack to StackCollection because of collision with Stack flutter widget.Stack collection.StringExtension::getRange now just returns the substring because of unrelyable results.pkg_colors).<home>/.fonts (just like our java apps) and not 'StringExtension::isBlank.StringExtension::isNotBlank.StringExtension::toInt now does toDouble().toInt() to prevent zero results.StringExtension::surround.PdfRect json serialization.HHNullableDirectoryCallback.FileExtension::sha256hash.DirectoryExtension::getFilesEx to async.HHNullableDirectoryCallback.DirectoryExtension::getFilesExSync.String::ifEmpty.isNullable<T>() function to check if T is a nullable type.StringListExtension::containsIgnoreCase.HHIntCallback.JsonObject::getField.JsonObject::setField.JsonObject.HHTracerMixin::error.HHTracerMixin::info.ByteDataExtension::asString.String::fastHash.async constructs.ListChunker class.Changelog heading in CHANGELOG.md.dart_code_metrics settings.FileExtension::getDimensions.IntExtension::tryParseBytes.IntExtension::formatBytes.StringExtension::count.StringExtension::between.StringExtension::betweenAndIncluding.StringExtension::getBetween.StringExtension::getBetweenAndIncluding.HHLoggerFilterCallback.unawaited_futures: true to linter rules.Paths compatible for console applications (pure dart).flutter references, making this package pure dart.Platform.pathSeparator from universal_io.StringExtension::uncapitalize to make the first character lowercase.string_extension.dart.DateTimeExtension::toMultipressTimestamp for time without date in milliseconds for multipress.StringExtension::getRange to fix avoid-substring from code_metrics.yaml.PasswordUtil.pkg_icons.JsonObject.updateValue.JsonObject::getValue is now generic.StringExtension::camelCaseClass.StringExtension::camelCaseToDashCase.StringExtension::dashCaseClass.StringExtension::dashCaseToCamelCase.null_util.dart from flutter_darwin.hh_tracer_mixin from pkg_core_flutter.bool is functions to bool get is.prefer-static-class: false added to code_metrics.yaml.kPdflibCompatibilityVersion = '1.7' constant.DirectoryExtension::isHidden.FileExtension::isHidden.File::withLowercaseExtension.String::nullForEmpty.ListExtension::duplicates.StringExtension::toInt.StringExtension::toDouble.String::toBool from getter to function.dart_code_metrics rules update.getBetweenAndIncluding, equalsAny, equalsAnyIgnoreCase to StringExtension.MediaSides enum.FileExtension: isEZ, isDZ, getVerdubbeling, withPrefix.print statements for logging.DirectoryExtension::isHidden now determines __MACOSX folders as hidden.lints.yaml for pure-dart projects.HHFileFilterCallback.Directory::getFilesEx to get unique and duplicate files in a folder tree.Directory::isHiddenDirectory::isNotHiddenFile::isHiddenFile::isNotHiddenpkg_core_flutter.link flag to HHLogInfo.HHLogInfo to vo.containsAny to StringExtension.containsAnyIgnoreCase to StringExtension.startsWithAny to StringExtension.startsWithAnyIgnoreCase to StringExtension.endsWithAny to StringExtension.endsWithAnyIgnoreCase to StringExtension.notContainsAny to StringExtension.notContainsAnyIgnoreCase to StringExtension.notStartsWithAny to StringExtension.notStartsWithAnyIgnoreCase to StringExtension.notEndsWithAny to StringExtension.notEndsWithAnyIgnoreCase to StringExtension.FileExtension.getExtension returned the whole path when the file had no extension.FileExtension.withSuffix lost the directory of the original file.FileExtension.changeExtension could mangle the entire path if the file did not contain a ., but the path did.Json type.fromText to ColorExtension.zip to ListExtension&amp;amp;amp;amp;amp;amp;amp;amp;lt;T&amp;amp;amp;amp;amp;amp;amp;amp;gt;: zip two lists together, alternating inserted items: this[ a, b, c] + other[1, 2, 3] = [a, 1, b, 2, c, 3].isInteger to String extension.withSuffix to File extension.toSafeTsvCell to String extension.finals due to new linter rules.RectangleExtension to Rectangle&amp;amp;amp;amp;amp;amp;amp;amp;lt;double&amp;amp;amp;amp;amp;amp;amp;amp;gt;.BoolExtension to bool.toMaterial to ColorExtension.resolvedPath to DirectoryExtension.resolvedFile to FileExtension.pkg_widgets).Directory::resolvedPath for windows started with a path separator.File::resolvedPath for windows started with a path separator.ViewType enum migrated from flutter_darwin.NotImplementedException migrated from flutter_darwin.looks_like_util.dart' migrated fromflutter_darwin`.prefix on String.suffix on String.