Skip to content

Update CSV requirement from 0.10 to 0.10, 1.0 - #60

Merged
blegat merged 1 commit into
mainfrom
dependabot/julia/CSV-0.10-and-1.0
Sep 21, 2026
Merged

blegat merged 1 commit into
mainfrom
dependabot/julia/CSV-0.10-and-1.0

Conversation

@dependabot

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

Copy link
Copy Markdown
Contributor

Updates the requirements on CSV to permit the latest version.

Release notes

Sourced from CSV's releases.

v1.0.0

CSV v1.0.0

Diff since v0.10.17

CSV.jl 1.0.0

CSV.jl 1.0 rewrites the parsing and writing internals while keeping the main CSV.File, CSV.read, CSV.Rows, CSV.Chunks, CSV.write, and CSV.RowWriter entry points.

Highlights

  • A shared, quote-aware structural index supports parallel typed parsing, eager tables, row views, lazy access, and batches.
  • New CSV.lazy indexes a source once and parses cells on access. CSV.File(lazyfile) reuses the index.
  • Tables.Scan pushes column selection, renaming, conversion, filtering, offset, and limit into the reader.
  • CSV.problems(file) exposes structured parse problems. on_error selects summary warnings, silent collection, or a CSV.ParseError.
  • The writer supports deterministic parallel output, explicit quote styles, Printf-style float formatting, automatic gzip suffix detection, and parallel gzip and partition output.
  • Faster string, time, and floating-point writing reduces formatting overhead and temporary allocations.
  • Julia trim compilation is covered by compile-and-execute tests.

Breaking changes

  • Julia 1.10 or later is required. Use CSV.jl 0.10 for older Julia versions.
  • Inferred text uses DataStrings.DataString. It is an AbstractString; eager columns own their text bytes. Use stringtype=String, or load InlineStrings and request an explicit type, when a consumer requires a particular representation. PosLenString output is retired.
  • Pooling is disabled by default. Pass pool=(0.2, 500) to restore the old policy.
  • Unquoted empty fields are always missing. Quote a field to represent present empty text. The writer preserves this distinction.
  • Date-time inference preserves fractional precision. It normally returns Timestamp{Nanosecond} from Durations.jl instead of Dates.DateTime. Wider date ranges use an exact microsecond representation when possible, otherwise text. Explicit types=DateTime reports sub-millisecond values as parse problems rather than truncating them.
  • Default Boolean spellings are true, True, TRUE, false, False, and FALSE. Set truestrings and falsestrings for other spellings.
  • Parse recovery records structured problems and emits one summary warning. Use on_error=:collect instead of silencewarnings=true, or on_error=:error to fail fast. Long rows report extra fields rather than widening the schema.
  • Some old options and APIs are removed or replaced. types, select, drop, and pool no longer accept functions. CSV.detect is removed; use delim=nothing. See the migration guide for the complete option mapping.
  • Source-memory behavior changes. CSV.Rows, CSV.Chunks, and CSV.lazy retain source bytes and a complete structural index. Gzip and non-file sources are fully buffered. These interfaces reduce value materialization but do not provide unbounded stream processing.
  • Writer behavior is stricter. An IO is written at its current position. .gz paths enable gzip by default; use compress=:none to disable it. Unknown writer keywords are errors, and quotestyle=:none rejects values that need structural quoting.

Migration guide and upgrade examples · Full release notes

Merged pull requests:

Closed issues:

  • 10-20x slowdown reading multiple files via CSV.read(::Vector{String}, DataFrame) (#1197)
  • Regression in 0.10.17: CSV.Chunks fails on well-formed files when chunks hold fewer than rows_to_check rows (#1199)
Commits

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)

Updates the requirements on [CSV](https://github.com/JuliaData/CSV.jl) to permit the latest version.
- [Release notes](https://github.com/JuliaData/CSV.jl/releases)
- [Commits](JuliaData/CSV.jl@v0.10.0...v1.0.0)

---
updated-dependencies:
- dependency-name: CSV
  dependency-version: 1.0.0
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file julia Pull requests that update julia code labels Sep 19, 2026
@blegat
blegat merged commit a12a5c4 into main Sep 21, 2026
4 checks passed
@blegat
blegat deleted the dependabot/julia/CSV-0.10-and-1.0 branch September 21, 2026 08:09
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 julia Pull requests that update julia code

Development

Successfully merging this pull request may close these issues.

1 participant