All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- minimum required Haxe version is now 4.2.x
- Issue#14
RandomStrings.randomAsciiAlpha
returns illegal chars (thanks to https://github.com/singpolyma)
- Issue#13 Null safety error in CharIterator with Haxe 4.3.4
- `Warning : (WDeprecated) '@:enum abstract' is deprecated in favor of 'enum' with Haxe 4.3
Version.compareTo
throws improve cppia support on CPPIA
- Speed up Strings.(starts|ends)With on Lua
- lua compatibility issues
- lua null-safety false positive
- method
Strings#toFloatOrNull
- method
Strings#toIntOrNull
- enabled null safety
Strings#toEReg()
now throws an exception instead of returning null if input string is null- changed signature of
Strings#toFloat
from(String, Null<Float>):Null<Float>
to(String, Float):Float
- changed signature of
Strings#toInt
from(String, Null<Int>):Null<Int>
to(String, Int):Int
- Issue#10
Warning : Std.is is deprecated. Use Std.isOfType instead.
- Issue#9
Warning : Using "is" as an identifier is deprecated
- Issue#8
Warning : __js__ is deprecated, use js.Syntax.code instead
- added workarounds for JVM target bugs
- added workaround for eval target bug
- property
CharIterator#current:Null<Char>
- method
CharPos#toString()
- method
StringDiff#toString()
- minimum required Haxe version is now 4.x
- removed support for old PHP5 target
StringSet.addAll(null)
now throws an exception
CharIterator#prev()
does not throw EOF as expected- PR#5
Ansi.cursor(RestorePos)
performs saves position instead of restoring it
- deprecated
hx.strings.Paths
module (use hx.files.Path of the haxe-files haxelib instead)
- enable
Pattern.MatchingOption#DOTALL
option for HL, Lua, NodeJS, Python targets - reduce usage of deprecated
haxe.Utf8
class
- fixes for Haxe 4 RC5
- Workaround for Haxe Issue 5336 "Utf8.compare() for CS treats upper-/lowercase chars differently than other platforms"
- String8 abstract does not work Haxe 4
- "ReferenceError: window is not defined" on node.js
- method
Pattern#remove()
- type
hx.strings.AnyAsString
OS.isWindows
does not work with PhantomJS
- renderMethod parameter to
Strings#ansiToHtml()
(thanks to https://github.com/emugel)
- make Pattern, OrderedStringMap, StringBuilder compatible with Haxe 4 Preview 5
- replaced license header by "SPDX-License-Identifier: Apache-2.0"
StringMap
is now usable in macro mode- deprecated
hx.strings.Paths
OS.isWindows
does not work with Node.js
- parameter 'interpolationPrefix' to
hx.strings.StringMacros#multiline()
- property
hx.strings.collection.SortedStringMap#size
- minimum required Haxe version is now 3.4.x
- removed workarounds for Haxe 3.2 and lower
- renamed hx.strings.collection.OrderedStringMap#clone() to #copy() for Haxe 4 compatiblity
- renamed hx.strings.collection.StringMap#clone() to #copy() for Haxe 4 compatiblity
- renamed hx.strings.collection.SortedStringMap#clone() to #copy() for Haxe 4 compatiblity
- use php.Syntax.code instead of "untyped call" for Haxe 4 compatiblity
- [flash] workaround for 'Cannot create Vector without knowing runtime type'
- String8.String8Generator is broken
- unused 'comparator' constructor parameter from hx.strings.collection.OrderedStringSet
- class hx.strings.CharIterator
- class hx.strings.Strings.CharPos
- class hx.strings.collection.OrderedStringMap
- class hx.strings.collection.OrderedStringSet
- class hx.strings.StringMacros
- function hx.strings.Strings#toCharIterator()
- function hx.strings.collection.StringSet#addAll()
- function hx.strings.collection.StringArray#contains()
- function hx.strings.collection.StringArray#pushAll()
- function hx.strings.StringBuilder#asOutput()
- function hx.strings.Version#isCompatible()
- parameter 'charsToRemove' to hx.strings.Strings#trim...() methods
- renamed hx.strings.collection.StringTreeMap to hx.strings.collection.SortedStringMap
- replaced hx.strings.CharPos abstract with hx.strings.Strings.CharIndex typedef
- replaced hx.strings.collection.StringMaps class with hx.strings.collection.StringMap abstract
- function hx.strings.Pattern.Matcher#reset(str)
- function hx.strings.StringBuilder#insert()
- function hx.strings.StringBuilder#insertAll()
- function hx.strings.StringBuilder#insertChar()
- parameter hx.strings.RandomStrings#randomUUIDv4(separator)
- parameter 'notFoundDefault' to hx.strings.Strings#substring...() methods
- function hx.strings.StringBuilder#prepend()
- function hx.strings.StringBuilder#prependAll()
- function hx.strings.StringBuilder#prependChar()
- StringBuilder now uses C#'s native StringBuilder#clear()/#insert() methods
- type hx.strings.RandomStrings (#randomUUIDV4(), #randomDigits(), ...)
- type hx.strings.String8
- type hx.strings.collection.StringMaps
- function hx.strings.Strings#containsOnly()
- function hx.strings.Strings#compact()
- function hx.strings.Strings#removeAfter()
- function hx.strings.Strings#removeAt()
- function hx.strings.Strings#removeBefore()
- function hx.strings.Strings#removeFirst()
- function hx.strings.Strings#randomSubstring()
- function hx.strings.collection.StringTreeMap#clone()
- function hx.strings.collection.StringTreeMap#setAll()
- renamed hx.strings.Strings#insert() to #insertAt()
- type hx.strings.collection.StringArray
- function hx.strings.collection.StringSet#isEmpty()
- function hx.strings.collection.StringTreeMap#isEmpty()
- function hx.strings.Strings#containsWhitespaces()
- function hx.strings.Strings#insert()
- function hx.strings.Strings#splitAt()
- function hx.strings.Strings#splitEvery()
- Support for Node.js
- type hx.strings.Version (Version parsing according SemVer.org 2.0 specification)
- function hx.strings.Char#isAsciiAlphanumeric()
- function hx.strings.Strings#indentLines()
- package hx.strings.ansi: type-safe ANSI escape sequence generation
- [hl] interim workaround for "EReg.hx Unsupported escaped char '/'"
- [cpp] interim fix for static initializer issue
- "Warning: maybe loop in static generation"
- spell checker in package hx.strings.spelling
- type hx.strings.collection.SortedStringSet
- type hx.strings.collection.StringSet
- type hx.strings.collection.StringTreeMap
- type hx.strings.Paths for path related string manipulations
- function hx.strings.Pattern.Matcher#iterate()
- function hx.strings.Strings#ellipsizeLeft()
- function hx.strings.Strings#ellipsizeMiddle()
- function hx.strings.Strings#getLevenshteinDistance()
- function hx.strings.Strings#getFuzzyDistance()
- function hx.strings.Strings#getLongestCommonSubstring()
- function hx.strings.Strings#isLowerCase()
- function hx.strings.Strings#isUpperCase()
- function hx.strings.Strings#left()
- function hx.strings.Strings#right()
- function hx.strings.Strings#removeLeading()
- function hx.strings.Strings#removeTrailing()
- fields hx.strings.Char#CARET/#EXCLAMATION_MARK/and constants for characters 0-9
- changed license from MIT to Apache License 2.0
- hx.strings.Strings#split8() now allows multiple separators
- slight performance improvement in hx.strings.StringBuilder
- renamed hx.strings.Strings#stripAnsi() to hx.strings.Strings#removeAnsi()
- renamed hx.strings.Strings#stripTags() to hx.strings.Strings#removeTags()
- renamed hx.strings.Strings#ltrim() to hx.strings.Strings#trimLeft()
- renamed hx.strings.Strings#rstrip() to hx.strings.Strings#trimRight()
- renamed hx.strings.Strings#abbreviate() to hx.strings.Strings#ellipsizeRight()
- renamed hx.strings.Strings#hex() to hx.strings.Strings#toHex()
- moved hx.strings.Strings#PATH_SEPARATOR to hx.strings.Paths#DIRECTORY_SEPARATOR
- moved hx.strings.Strings#globToEReg() to hx.strings.Paths#globToEReg()
- moved hx.strings.Strings#globToPattern() to hx.strings.Paths#globToPattern()
- moved hx.strings.Strings#globToRegEx() to hx.strings.Paths#globToRegEx()
- hx.strings.Char.toLowerCase() was broken for character I
- function hx.strings.Strings#endsWithAny()
- function hx.strings.Strings#endsWithAnyIgnoreCase()
- function hx.strings.Strings#startsWithAny()
- function hx.strings.Strings#startsWithAnyIgnoreCase()
- function hx.strings.Strings#toTitle()
- parameter 'algorithm' to hx.strings.Strings#hashCode()
- hx.strings.StringBuilder#addChar() with values between 128 and 255 didn't work on all platforms as expected
- type hx.strings.Pattern for threadsafe pattern matching
- function hx.strings.Strings#abbreviate()
- function hx.strings.Strings#globToPattern()
- function hx.strings.Strings#substringBetween()
- function hx.strings.Strings#substringBetweenIgnoreCase()
- function hx.strings.Strings#toBool()
- function hx.strings.Strings#toFloat()
- function hx.strings.Strings#toInt()
- function hx.strings.Strings#toPattern()
- function hx.strings.Strings#wrap()
- function hx.strings.StringBuilder#isEmpty()
- Initial release