Skip to content

chore(deps): bump github.com/markusmobius/go-dateparser from 1.2.4 to 1.4.7 - #100

Closed
dependabot[bot] wants to merge 1 commit into
masterfrom
dependabot/go_modules/github.com/markusmobius/go-dateparser-1.4.7
Closed

dependabot[bot] wants to merge 1 commit into
masterfrom
dependabot/go_modules/github.com/markusmobius/go-dateparser-1.4.7

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Sep 22, 2026

Copy link
Copy Markdown
Contributor

Bumps github.com/markusmobius/go-dateparser from 1.2.4 to 1.4.7.

Release notes

Sourced from github.com/markusmobius/go-dateparser's releases.

Go-DateParser v1.4.7

Dependency-only refresh to published Dateutil v2.9.1. DateParser runtime algorithms, public APIs, locale/conversion data, and caller-owned concurrency are unchanged.

Dependency: Go-Dateutil v2.9.1, module checksum h1:5g4V8s1vg/EAmhu/g14VQcHgocNf8H8VD4IzOfZg+1Y=. Source commit: 1554533a164fdcab763e59bd42fe46c86bb98a74.

Python dateparser 1.4.3 and python-dateutil 2.9.0.post0 remain the behavioral references. CPython 3.14.6 rechecked the current Go dependency graph: the same 75 core and 16 search-result corrections passed. Historical fixtures and their original source identities are unchanged.

Local qualification: Go 1.26.0 and 1.27.1 Linux suites; Windows Go 1.27.1; race tests in UTC, America/New_York and Asia/Kolkata; vet, tidy and module verification.

Existing v1.4.3/v1.4.5/v1.4.6 benchmark measurements retain their original version labels. No v1.4.7 performance measurement or gain is claimed.

See the versioned README for installation, historical measurements, reproduction commands and compatibility limits.

v1.4.6: Python-compatible Dateutil integration

Changes

  • Use published Go-Dateutil v2.9.0 for relative parsing and month-based time spans, following Python dateparser 1.4.3 and python-dateutil 2.9.0.post0. No local dependency replacement or Python runtime is required.
  • Clamp month/year offsets to the target month's last valid day, preserve fractional seconds at Python microsecond precision, and reject fractional years/months instead of approximating them.
  • Retain PreserveEndOfMonth as a deprecated source-compatible field with no effect. Month-end clamping is now unconditional, as in Python.
  • Reject explicitly invalid Gregorian dates while allowing omitted days to clamp and omitted years to select a valid leap year.
  • Add Python-grounded arithmetic and calendar regressions. Preserve Go's finer period labels separately from the arithmetic, without promoting floating-point noise to a finer period.
  • Preserve the Go 1.26 minimum, locale and conversion data, caller-owned concurrency, and both root license files.

Performance

Go-DateParser v1.4.3, v1.4.5 and v1.4.6, measured on 2026-09-13. The v1.4.3/v1.4.5 columns retain their original paired measurements. The v1.4.6 column comes from a separate pre-release review run of Go commit 7837629, not the same paired run. The release retains that runtime unchanged. All measurements used Go 1.27.1 on an AMD Ryzen AI 7 PRO 350, Linux x86_64/WSL2, with one caller pinned to CPU 2, portable build settings, CGO_ENABLED=0, GOAMD64=v1, GOMAXPROCS=1, default garbage collection and no optional regex tags.

Workload Inputs v1.4.3 Warm Pass v1.4.5 Warm Pass v1.4.6 Warm Pass v1.4.3/v1.4.5 Time
Automatic locale detection 226 633.36 ms 150.67 ms 175.03 ms 4.20x
Explicit locales/languages 2,530 935.42 ms 1,017.53 ms 836.73 ms 0.92x
HtmlDate strict/past 195 742.00 ms 264.97 ms 255.27 ms 2.80x
Automatic search 3 13.90 ms 9.82 ms 10.10 ms 1.42x
Split search 34 251.06 ms 23.05 ms 24.24 ms 10.89x
N-gram search 39 67.79 ms 65.79 ms 68.65 ms 1.03x
Time-span search 96 58.74 ms 21.88 ms 22.48 ms 2.68x
Jalali parsing 1,311 21.58 ms 12.47 ms 13.26 ms 1.73x
Hijri parsing 6,193 57.98 ms 44.65 ms 48.85 ms 1.30x

Times are per complete corpus traversal, summarized as the median of six per-process medians, with eight timed passes per process and balanced execution order. Feature passes repeat the corpus 16 times and are divided by 16 here.

... (truncated)

Changelog

Sourced from github.com/markusmobius/go-dateparser's changelog.

v1.4.7 - 2026-09-13

  • Update the published shared dependency to Go-Dateutil v2.9.1, with normal checksum-verified module resolution and no local replacement.
  • Retain DateParser's runtime algorithms, relative-arithmetic behavior, public APIs, locale/conversion data, licenses, and caller-owned concurrency. Python dateparser 1.4.3 remains the reference.
  • Keep historical v1.4.3/v1.4.5/v1.4.6 performance measurements under their original versions; no new benchmark results are claimed for this dependency-only release.

v1.4.6 - 2026-09-13

  • Use published Go-Dateutil v2.9.0 for relative parsing and month-based time spans, following Python dateparser 1.4.3 and python-dateutil 2.9.0.post0. No local dependency replacement or Python runtime is required.
  • Clamp month/year offsets to the target month's last valid day, preserve fractional seconds at Python microsecond precision, and reject fractional years/months instead of approximating them.
  • Retain PreserveEndOfMonth as a deprecated source-compatible field with no effect. Month-end clamping is now unconditional, as in Python.
  • Reject explicitly invalid Gregorian dates while allowing omitted days to clamp and omitted years to select a valid leap year.
  • Add Python-grounded arithmetic and calendar regressions. Preserve Go's finer period labels separately from the arithmetic, without promoting floating-point noise to a finer period.
  • Preserve the Go 1.26 minimum, locale and conversion data, caller-owned concurrency, and both root license files.

v1.4.5 - 2026-09-13

  • Roll up v1.4.4's single-thread improvements: lazy locale applicability, shared normalization/digit conversion, and cached default locale ordering. No internal worker goroutines or new build flags.
  • Correct Jalali and Hijri parsing against Python dateparser 1.4.3: MDY public defaults, calendar-local missing fields, actual month lengths, omitted-day clamping, explicit-day rollover, two-digit years, and reference-date bounds. Callers relying on the previous DMY default should set Configuration.DateOrder explicitly.
  • Replace the Go Jalali/Hijri conversion dependencies with immutable native tables generated from pinned Python convertdate and hijridate packages. Remove the now-unused go-jalaali, go-hijri, and go-juliandays dependencies; Python is not required at runtime.
  • Correct search language evidence and detector handling. Explicit languages/locales bypass the callback, returned detector languages retain their order, and translated fragments do not invoke it again. Fix Chinese/Japanese timestamp joining and Cantonese splitter bounds.
  • Reject relative dates and time spans outside Python's supported datetime range instead of overflowing; preserve valid large whole-second offsets without overflowing time.Duration.
  • Add a reproducible independent Python fixture: 7,504 calendar cases, 178 exact search cases, and 10 exception inputs checked for safe handling. Record dependency versions and imported source hashes; retain known compatibility exceptions in UPSTREAM.md.
  • Add a Go-repository benchmark entry point comparing published Go v1.4.3 with v1.4.5 across nine workloads: three parsing cohorts plus search, n-grams, time spans, Jalali, and Hijri. Both versions use identical inputs; historical output differences and panics are recorded. Explicit pre-release runs are labelled worktree.
  • Preserve both root license files, generated locale/matcher data, and the Go 1.26 minimum. Python dateparser remains pinned to v1.4.3.

v1.4.4 - 2026-09-12

  • Check locale applicability lazily in the existing priority order, stopping after a successful parse while preserving eager configuration validation and callback behavior.
  • Share locale-independent normalization and digit conversion across candidate locales, retaining the detector's original normalized input.
  • Cache both unrestricted default locale orderings and return independent slices to callers. Explicit locale/language/region validation is unchanged.
  • Add focused regressions for cached ordering and slice ownership, detector inputs, and invalid configuration after previous-locale success.
  • Add a reproducible single-core version comparison. Post-release documentation and tooling now use the same 2,951-case suite as RustDateParser: warmed automatic detection measured 3.85x and HtmlDate strict/past 2.78x versus v1.4.3; explicit-locale ranges overlap. See the README and published raw report for exact-output checks and measurement limits. The v1.4.4 tag and module contents are unchanged.
  • Preserve dependencies, generated locale/regex data, public APIs, licensing, and Python dateparser v1.4.3 compatibility. No internal worker goroutines or new build flags are introduced.

v1.4.3 - 2026-09-10

  • Require Go 1.26.0 (recommended toolchain 1.27.1) and refresh runtime, test, and code-generator dependencies.
  • Refresh README examples, public API documentation, and performance comparisons after the dependency update; clarify that generated matchers are enabled with or without cgo.
  • Catch up with Python dateparser v1.4.3, accounting for all 66 commits after v1.2.1 in https://github.com/markusmobius/go-dateparser/blob/main/UPSTREAM.md.
  • Refresh generated locale data to CLDR 44.1.0, retain older accepted vocabulary and locale codes, and support supplementary regional overrides including en-US.
  • Enable checked-in re2go-generated exact locale matchers by default, with no cgo requirement or build flags. Regenerate them alongside locale data and retain regex fallback behavior for malformed UTF-8.
  • Add ASCII fast paths for timezone candidate rejection and split-token classification, preserving timezone extraction and backend-specific Unicode and malformed-UTF-8 behavior.
  • Add the optional n-gram search strategy and time-span results, including configurable week starts and rolling month lengths.
  • Add opt-in parsing of dates surrounded by unknown edge text, preserving strict and required-parts checks.
  • Port signed relative offsets, Russian search and compound-number fixes, whitespace handling, explicit-language ISO dates, year-first/Japanese component fixes, and the upstream language additions.
  • Correct required-parts validation and ambiguous-year retries. Support ordinal-day custom layouts and preferred centuries for two-digit years.
  • Correct BST to UTC+01:00 and HDT to UTC-09:00 without changing other ambiguous timezone abbreviations.
  • Isolate shared normalization and search state for concurrent parsing and searching; add race regressions and a Linux multi-timezone CI matrix.
  • Preserve Go time layouts, period types, existing language ordering, and the optional end-of-month behavior. See the compatibility ledger for known differences and verification limitations.

... (truncated)

Commits
  • 1554533 Release v1.4.7 with published Dateutil v2.9.1
  • fdd5a23 Release v1.4.6: finalize Dateutil integration documentation
  • e349b0d Add v1.4.6 candidate column to Go README timings
  • 7837629 Prepare v1.4.6 Dateutil integration for review
  • f43e13a Compare Go v1.4.3 and v1.4.5 across nine workloads
  • cbce666 Document six-cohort Rust and Go v1.4.5 performance inline
  • e02a0cf Align calendars and search with Python dateparser and add shared feature benc...
  • 98376e0 Standardize release benchmarks on the shared parsing suite
  • 577619d Release v1.4.4: avoid redundant locale checks
  • ce55302 Release v1.4.3: sync Python dateparser and enable default fast paths
  • See full diff in compare view

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Bumps [github.com/markusmobius/go-dateparser](https://github.com/markusmobius/go-dateparser) from 1.2.4 to 1.4.7.
- [Release notes](https://github.com/markusmobius/go-dateparser/releases)
- [Changelog](https://github.com/markusmobius/go-dateparser/blob/main/CHANGELOG.md)
- [Commits](markusmobius/go-dateparser@v1.2.4...v1.4.7)

---
updated-dependencies:
- dependency-name: github.com/markusmobius/go-dateparser
  dependency-version: 1.4.7
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file go Pull requests that update go code labels Sep 22, 2026
@dependabot @github

dependabot Bot commented on behalf of github Oct 27, 2026

Copy link
Copy Markdown
Contributor Author

Superseded by #102.

@dependabot dependabot Bot closed this Oct 27, 2026
@dependabot
dependabot Bot deleted the dependabot/go_modules/github.com/markusmobius/go-dateparser-1.4.7 branch October 27, 2026 22:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file go Pull requests that update go code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants