Skip to content

Releases: justinfx/fileseq

Patch Release v3.1.1

13 Mar 18:29

Choose a tag to compare

What's Changed

  • grammar: fix directory rule to allow UNC paths (//server/share/) (#153)
  • fix setDirname stripping the root path separator, causing root-level paths to lose their leading slash

Full Changelog: v3.1.0...v3.1.1

Minor Release v3.1.0

10 Mar 02:11

Choose a tag to compare

What's Changed

This isn't really a breaking change, but it removes a runtime dependency in favor of an internal vendor location. Because a very specific major.minor version of antlr4 runtime is needed to match the generator, we want to make sure we never collide with any other project in an environment that could also be using the runtime on a different version.

  • Vendor the antlr4 runtime into an internal location and remove from pyproject.toml dependencies

Full Changelog: v3.0.2...v3.1.0

Patch Release v3.0.2

09 Mar 21:28

Choose a tag to compare

What's Changed

  • grammar: Adjust the directory parsing rule to handle edge case containing dots (refs #152)
  • grammar: simplify redundant tokens into just a basename pattern

Full Changelog: v3.0.1...v3.0.2

Patch Release v3.0.1

03 Mar 20:06

Choose a tag to compare

What's Changed

This patch release only makes a change to the PyPI package distribution details.

  • pyproject.toml: rename the distribution name field from 'fileseq' back to "Fileseq" for consistency (#151)

Major Release v3.0.0

21 Feb 21:20

Choose a tag to compare

What's Changed

New v3 major release. This is a major version with breaking changes covering two significant architectural
improvements.

ANTLR4 Grammar-Based Parsing (PR #149)

Sequence pattern parsing has been migrated from regex to a shared ANTLR4 grammar, aligning the Python
implementation with the Go and C++ implementations for consistency and maintainability.

Removed API:

  • FileSequence.SPLIT_RE and FileSequence.DISK_RE class variables
  • constants.SPLIT_PATTERN, constants.SPLIT_RE, constants.SPLIT_SUB_PATTERN, constants.SPLIT_SUB_RE

Removed files:

  • setup.py → replaced by pyproject.toml
  • src/fileseq/__version__.py → version now derived from git tags via setuptools-scm
  • requirements.txt → replaced by pyproject.toml optional dependency groups (pip install ".[dev]", pip install ".[docs]")

Behavioral changes:

  • Auto-padding now only applies to single-frame files without explicit padding — foo.1@@@@.exr preserves
    @@@@ rather than re-padding

Range-Based FrameSet (PR #150)

FrameSet now stores frame ranges compactly as Range objects rather than expanding all frames upfront,
reducing memory usage by ~99.9%+ for large ranges (e.g. 100k frames drops from ~7.8MB to ~536 bytes).

Deprecated API (raises DeprecationWarning):

  • FrameSet.items — use set(fs) instead
  • FrameSet.order — use list(fs) or fs[i] instead

Bug fixes:

  • isConsecutive() now correctly handles interleaved ranges and empty framesets
  • hasSubFrames() correctly detects decimal notation like "1.0-5.0"
  • Stagger modifier (:) now properly deduplicates frames

Pull Requests

  • Implement ANTLR4 grammar parsing and migration from regex focus (refs #147) by @justinfx in
    #149
  • Refactor FrameSet to use range-based storage (fixes #148) by @justinfx in
    #150

Full Changelog: v2.3.1...v3.0.0

Patch Release v2.3.1

21 Feb 20:13

Choose a tag to compare

What's Changed

  • [#137] Strip whitespace from frame range in FrameSet constructor

Full Changelog: v2.3.0...v2.3.1

Release v2.3.0

24 Dec 03:15
6443706

Choose a tag to compare

What's Changed

  • Preserve files with negative zero frames the hyphen like other negative frames by @justinfx in #144
  • Detect and preserve path separators for cross-platform support (refs #145) by @justinfx in #146

Full Changelog: v2.2.1...v2.3.0

Patch Release v2.2.1

27 Oct 00:42
610504c

Choose a tag to compare

What's Changed

Full Changelog: v2.2.0...v2.2.1

Release v2.2.0

21 Sep 21:12
4ae10cd

Choose a tag to compare

What's Changed

  • Fix mypy errors and improve the accuracy of the annotations by @chadrik in #141
  • Add support for pathlib.Path via a new FilePathSequence class by @chadrik in #140

New Contributors

Full Changelog: v2.1.2...v2.2.0

Patch Release v1.15.3

04 Nov 01:06

Choose a tag to compare

Patch Release v1.15.3

  • [#135] (backport) yield_sequences_in_list: use unique key for single files with no frame to prevent name collision with same basename using frames

Full Changelog: v1.15.2...v1.15.3