ReplaceAll
added
Pair.from()
andTrio.from()
added
convertListNS
accepts a null list.
convertList
andconvertListNS
added.
isHttpStatusOK
accepts null.
getMimeType
addedgetContentType
supportsheaderBytes
and path- Also detect more mime types
- The constructors of HttpRequestWrapper, HttpResponseWrapper, HttpHeadersWrapper... accept
null
asorigin
.
- Merged changes of 4.6 into 5.0
encodeNS
anddecodeNS
introduced. They're null-safety version ofencode
anddecode
defer()
replaces the key, so the invocation oftask
will be the last key.
- BREAK CHANGE:
configureDefers()
'sexecutor
argument's signature is changed. - BREAK CHANGE:
defer
'scategoryKey
is renamed tocategory
configureDefers()
supportsexecutable
to slow down if the system is busy.- BREAK CHANGE:
name
is removed fromBrowser
- BREAK CHANGE:
onStatusCode
is removed fromajax
readAsJson
,readAsString
andHttpUtil.decodePostedParameters
supportmaxLength
- BREAK:
HttpUtil.decodePostedParameters
anddecodeQuery
use named parameters.
InvokeUtil.invokeSafely
added.MapUtil.parse
'sdefaultValue
is an empty string.- Rename
LIST_MIRROR
and other mirrored types as static members ofMirror
StreamUtil.first
added.
Pair
andTrio
added.
- Migrate to Dart 2.12 (null safety)
- Clean up deprecated methods:
Browser.edge
,Browser.name
and theonStatusCode
argument of Ajax utilities.
InvokeUtil.invokeSafelyWith
added.
InvokeUtil.invokeSafely
added.StreamUtil.first
added.Pair
andTrio
added.
Browser.legacyEdge
andBrowser.newEdge
are addded, andBrowser.name
andBrowser.edge
are deprecated.- Also, we also consider
Browser.newEdge
andBrowser.legacyEdge
as a variant of Chrome, soBrowser.chrome
is also true in this case.
Browser.linux
andBrowser.windows
added
ajax
/head
/post
: TheonResponse
argument is supported, and theonStatusCode
argument deprecated.
- The
maxBusy
setting was introduced toconfigureDefers
. - The following
defer()
will wait for the executing one to complete.
- Extension to support the comparators for
DateTime
, such as<
,>
, and-
.
- Fix #6 The method 'HttpHeadersWrapper.set' has fewer named arguments than those of overridden method 'HttpHeaders.set'. [Dart 2.8]
- Limit Dart SDK version for Dart 2.8 version breaking change.
- add links to github repo in pubspec.yaml.
- Fix #5
defer()
'stask
callback takes the key as the argument. It helps to reuse the same closure for different keys.
cancelDeferred()
added.
- Upgrade to Dart 2.5 or later
- Prepare for upcoming breaking changes to
HttpRequest
in the Dart SDK.
XmlUtil.encode()
supports theentity
parameter to escape XML entities.
ajax()
added to simplify HTTP request at server side or flutter.
- The signature of flushDefers() was changed. Use
repeatLater: Duration.zero
instead ofrepeat: true
.
Browser.dart
not supported.
- Dart 2 required
- The signature of flushDefers() was changed.
- flushDefers() introduced to flush all deferred tasks.
- Browser.version considers, say,
12.1
as a double,12.01
. Thus,12.10
is larger than12.1
.
- NullTreeSanitizer is removed. Please use NodeTreeSanitizer.trusted instead which was introduced in Dart 1.12.
- NullTreeSanitizer, NullNodeValidator, setUncheckedInnerHtml and createUncheckedHtml are added.
- MapWrapper is introduced to simplify the extension of a map instance.
- XmlUtil.encode() supports the space argument to preserve the right space also able to break lines
- StringUtil's toHexString, addCharCodes, encodeId, filterIn and filterOut have been removed.
- MapUtil.onDeman has been renamed to MapUtil.auto
- The html library has been removed.
- addContentType() is introduced to add extra content types that the mime package might not support yet.
- TreeLink is removed.
- TreeLink is deprecated and will be removed soon.
- AbstractBufferedResponse is added.
- XmlUtil.encode() changed: multiline renamed to multiLine, and maxlength not supported.
November 20, 2013
- EMPTY_SET is added.
- contentTypes and httpStatusMessages are added.
- ObjectUtil.injectAsync() is removed since Dart removes asynchronous Mirrors API.
- encodeString and decodeString are removed. Please use dart:convert directly.
- IOUtil is removed and replace with convert.dart.
- defer() in async.dart was introduced to run a costly operation smartly.
- gzip and gzipString were introduced.
- BufferedResponse renamed to StringBufferedResponse, while BufferedResponse reserved for bytes
- IOUtil.decode and IOUtil.encode became public methods: decodeString and encodeString.
- The js package was removed (part of Rikulo Gap).
- MapUtil.copy was introduced.
- The signature CssUtil.copy has been changed. To be consistent with others, the first argument is now the source.
- Browser.size was removed. Use DomUtil.windowSize or window.innerWidth/innerHeight instead.
- ClassUtil and ObjectUtil are both synchronous (no Future required)
- ClassUtil: renamed invokeObjectMirror to invokeByMirror; newInstanceByClassMirror to newInstanceByMirror
- HttpUtil.decodePostedParameter was introduced to decode the parameters of a POST requests.
- Css was renamed to CssUtil
- DomAgent was removed and replaced with DomUtil, which is a collection of static utilities.
- encodeString and decodeString are put into IOUtil, and renamed to encode and decode
- IOUtil.readAsString and readAsJson are added.
- StreamWrapper is added
- HttpRequestWrapper and HttpResponseWrapper are upgraded to new Dart API
- ObjectUtil is added to inject values into the given object
- ClassUtil.coerce is added to coerce types
- HttpHeadersWrapper is added.
- Upgrade to new Dart SDK.
- StreamProvider and CapturableStreamProvider are added.
Features
- StringUtil, MapUtil and many others are added.
- HttpRequestWrapper and HttpRespnseWrapper are added.