Skip to content

Lack of backward compatibility #950

@K-Yo

Description

@K-Yo

Problem to Solve

When using pycti, we need to use a version matching the version from our platform (for example, if I use openCTI 6.7.8, I should use pycti version 6.7.8 to ensure compatibility).
Current python dependencies (specified in requirements.txt) are very restricted, using the ~= version specifier.

This can lead to compatibility issues, like a user raised in #840

with pycti 6.4.5, one must use pydantic 2.8.*
with pycti 6.4.6, one must use pydantic 2.10.*

if I want to upgrade pydantic in a project using pycti (for features or security or compatibility), I must upgrade OpenCTI platform, which is a lot of work and possible different teams with different priorities.

Current Workaround

I’m thinking maybe clone pycti source locally and build it with different dependencies. Did not find anything simpler for the moment…

Proposed Solution

Most teams go around these issues by releasing a backward compatible library. At least until the EOL of each version.

Metadata

Metadata

Assignees

No one assigned

    Labels

    featureuse for describing a new feature to developneeds triageuse to identify issue needing triage from Filigran Product team

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions