taro 2.1.1
taro: ^2.1.1 copied to clipboard
Taro is a library for loading data from network and saving it to storage to speed up data loading.
2.1.1 #
- FIX:
networkLoaderTimeoutchanges only the timeout of the default client, and throws aStateErrorfor a custom client instead of replacing it.
2.1.0 #
- FIX: Include request headers in the storage cache key.
TaroLoaderStorage.loadandsavetake an optionalheadersargument. - FIX: Apply the timeout of the default
HttpClientto connecting and to a stalled response body, and abort the request on web when it times out. - FIX: Wrap failed
fetchcalls on web inTaroNetworkException. - FIX: Report the body size as
contentLengthon native, as on web. - FIX: Parse
max-agecase-insensitively and accept a quoted value. - FIX: Compare
TaroImageheaders by content whenuseHeadersHashCodeis true. - FIX: Correct the names printed by
TaroImage.toStringandTaroHttpResponseException.toString. - DOCS: Fix incorrect descriptions in doc comments and README.
- CHORE: Bump GitHub Actions dependencies.
2.0.5 #
- FIX: Send request headers on web.
fetchwas called with aHeadersinstance where its init dictionary was expected, so every header passed toTarowas silently dropped in web builds. - FIX: Throw a
FormatExceptioninstead of aTypeErrorwhen a cache file info is corrupted, so the failure is wrapped inTaroStorageExceptionrather than escaping as anError. - FIX: Await the decoded image inside the
tryblock ofTaroImageso decoding failures are handled by the surrounding error handling. - TEST: Raise line coverage from 82.4% to 99.7%, and add browser tests for the web network and storage implementations.
- CHORE: Upload coverage to Codecov and run the browser tests in CI.
- CHORE: Replace the
strict-raw-typesanalyzer mode with theno_raw_typesandno_dynamic_castslints, and enablestrict-inference.
2.0.4 #
- FIX: Resolve equality asymmetry in
TaroImagewhenuseHeadersHashCodediffers between instances. - FIX:
Taro.configure()no longer resetsonStorageErrorcallback when not explicitly provided. - FIX: Use recursive directory creation in native storage to prevent race conditions.
- TEST: Add dedicated
TaroLoadertests for storage/network orchestration and error callback behavior. - TEST: Expand test coverage for
ageheader, 3xx status codes,ResizeImagewrapping, andconfigure()parameter preservation.
2.0.3 #
- FEAT: Add
TaroStorageFailureExceptionandTaroStorageOperationTypefor storage error handling. - FEAT: Add
onStorageErrorcallback toTaroclass for monitoring storage failures. - FEAT: Add
topicsto pubspec.yaml for better discoverability on pub.dev. - REFACTOR: Add
@immutableannotation toCacheFileInfo. - REFACTOR: Remove duplicate
keyassignment inTaroWidget. - TEST: Add comprehensive tests for exception classes and
CacheFileInfo. - TEST: Add
tearDownto existing tests for better isolation.
2.0.2 #
- FIX: Fix lint rule.
2.0.1 #
- FIX: Handle deleted cache directory in
native.dart. - REFACTOR: Rearrange test directory structure.
- DOCS: Update README badges and examples.
2.0.0 #
- BREAKING CHANGE: Refactor
TaroHttpResponsefromRecordtoclass. - BREAKING CHANGE:
TaroHttpResponseconstructor is no longerconstdue to header normalization. - FEAT: Add
toString,==,hashCodeimplementation toTaroHttpResponse. - FEAT: Normalize
TaroHttpResponseheaders keys to lowercase.
1.5.0 #
- BREAKING CHANGE: Remove
TaroResizeOption,TaroResizeOptionSkip, andTaroResizeOptionMemory. - BREAKING CHANGE:
Taro.loadImageProviderandTaroWidgetnow usemaxWidthandmaxHeightarguments instead ofresizeOption.
1.4.0 #
- BREAKING CHANGE: Remove
imagedependency. - BREAKING CHANGE: Remove
TaroResizer,TaroResizeOptionDisk, andTaroResizeFormat. - BREAKING CHANGE: Remove
resizeOptionargument fromloadBytes. - BREAKING CHANGE: Remove
networkLoaderResizersetter fromTaro.
1.3.0 #
- Add
customCacheDurationoption toTaroHeaderOption - BREAKING CHANGE: Convert
TaroHeaderOptionfrom record to class for better extensibility - Add
toString(),==, andhashCodeto allTaroResizeOptionsubclasses - Fix
cache-controlheader parsing to support multiple directives - Improve error handling in
TaroResizer
1.2.0 #
- Refactor
TaroResizeOption
1.1.0 #
- Remove
httpdependency - Use
dart.library.ioanddart.library.js_interop
1.0.1 #
- Add sample code with
Diohttp client - Update README
- Code cleanup
1.0.0 #
- Initial stable release
0.3.1 #
- Code cleanup
0.3.0 #
- http 1.2.1
0.2.2 #
- Change js class names to match Dart class names
0.2.1 #
- Specify generic type
0.2.0 #
- Require Dart 3.3.0 and Flutter 3.19.0
- Update to extension type
0.1.0 #
- Migrate to js_interop
- Create filename by sha256 hash of URL and options
0.0.3 #
- Cleanup API
- Add comments
0.0.2 #
- More documentation
0.0.1 #
- Initial alpha release