timezone_finder 1.0.0
timezone_finder: ^1.0.0 copied to clipboard
Makes package:timezone easier to use — turn a place on Earth into the Location it sits in.
1.0.0 #
First stable release. Breaking: the package is split in two.
timezone_finder now only turns a point into a Location. Clock conversion
and English time zone labels, which shipped here through 0.2.0, moved to the
new timezone_extensions
package under the same names: TZDateTime.toLocation,
TZDateTime.offsetDifference, TZDateTime.timeZoneLongName,
TZDateTime.utcOffsetLabel, Location.timeZoneGenericName and cldrVersion.
To keep using them, add timezone_extensions to dependencies and
import 'package:timezone_extensions/timezone_extensions.dart';.
Other changes:
- Removed
String.findLocation(GeoJsonLocation). Nominatim and Photon return aFeatureCollection; pick a point and callfindLocation(longitude, latitude). - The web asset is now always
boundaries.bin, so boundary updates no longer rename it: point your Flutterassets:entry atpackages/timezone_finder/data/boundaries.binonce.boundariesDefaultUrladds?v=<release>so browsers do not reuse a stale cached copy. - Requires
package:timezone^0.11.2(tzdb 2026e). - Boundaries refreshed to timezone-boundary-builder 2026e (OSM updates, and
Pacific/Easterlimited to Chilean territorial waters). Same 419 identifiers; only borders moved.boundaryDataVersionis now'2026e'. From here, a boundary update with the same identifiers is a patch release; one that adds or removes identifiers is a minor release. initializeBoundariesreads the response witharrayBuffer()instead ofResponse.bytes(), so it also works on browsers that lackbytes().- A corrupt index (out-of-range zone id, short grid, polygon without rings)
now throws
IndexFormatExceptionwhen installed, instead of aRangeErrorat lookup.
0.2.0 #
Breaking. 0.1.0 names have no @Deprecated aliases.
-
Location/TZDateTimeextensions still ship in this package, with the CLDR tables andLICENSE-CLDR; several are renamed below. Corrected after release: this entry first said they had moved topackage:timezone_extensionsand thatformatUtcOffsetwas exported. Neither was true in 0.2.0. The split happened in 1.0.0. -
browser.dartis web-only, likepackage:timezone/browser.dart. Importing it off web is now a compile error (0.1.0 failed at runtime). Cross-platform apps should conditionally import it on the same branch that loads the.bin. VM, CLI, server, and Flutter mobile/desktop keep usingtimezone_finder.dart(boundaries are embedded). -
Cross-location APIs now sit beside
package:timezonenames:String.toLocation()→String.findLocation()TZDateTime.convertTo(location)→TZDateTime.toLocation(location)(toUtc/toLocalanalogue)TZDateTime.utcOffsetDifference(location)→TZDateTime.offsetDifference(location)
-
English labels drop "metazone" from public names (that word is CLDR lookup jargon):
Location.metazoneName→Location.timeZoneGenericNameTZDateTime.metazoneName→TZDateTime.timeZoneLongName(besidetimeZoneName)MetazoneLocation→LocationZoneNamesMetazoneTZDateTime→TZDateTimeZoneNames- Removed
TZDateTime.metazoneAbbreviation— usetimeZoneName(CEST) orutcOffsetLabel(UTC±…)
-
TZDateTime.utcOffset→TZDateTime.utcOffsetLabel— display string (UTC+04:30), nottimeZoneOffset(Duration). -
ianaDatabaseVersion→boundaryDataVersion— timezone-boundary-builder release, independent of the tzdb version behindpackage:timezone.
0.1.0 #
- Initial release.