Skip to content

Issue 102 langchain core security patch - #107

Closed
mounacheikho-cmd wants to merge 43 commits into
climateandtech:maintenance/security-updates-round-2from
mounacheikho-cmd:issue-102-langchain-core-security-patch
Closed

Issue 102 langchain core security patch#107
mounacheikho-cmd wants to merge 43 commits into
climateandtech:maintenance/security-updates-round-2from
mounacheikho-cmd:issue-102-langchain-core-security-patch

Conversation

@mounacheikho-cmd

Copy link
Copy Markdown
Collaborator

Part of #102.

Updates langchain-core from 0.3.43 to 0.3.85, addressing Dependabot alerts #37, #44, #115, and #142.

Also updates langsmith from 0.3.13 to 0.3.45, the minimum version required by the new LangChain Core version.

Alerts requiring a coordinated LangChain 1.x migration remain out of scope.

Validation

  • pip check passed
  • LangChain application imports passed
  • Focused tests: 28 passed, 1 skipped
  • Full suite: 369 passed, 10 skipped

The full installation used PR #104’s Chroma versions in the temporary test environment to bypass the existing Chroma build issue.

Mouna Cheikho and others added 30 commits July 10, 2026 12:43
…tility-security-patches

Patched utility dependencies
…uthlib-security-patch

Patched authlib dependency
…ytest-security-patch

Patched pytest dependencies
…xml-security-patch

Patched lxml dependency
…rypto-security-patch

Patched crypto dependency alerts
…ttp-dependency-security-patches

Patched HTTP dependency security alerts
…ove-gradio

Removed legacy Gradio interface
…tarlette-fastapi-security-patch

Updated FastAPI and Starlette dependencies
…ltk-security-patch

Deleted NLTK dependency
…gate-deleted-files

Fixed deleted file linting
nicooxxx and others added 13 commits July 24, 2026 13:49
…remove-gradio-app-main

Fix quality gate handling of deleted files
…ts. (climateandtech#48)

* Add env-configurable LLM model lists with GPT-5.4 and Gemini 3 defaults.

Streamlit and GET /models read OPENAI_MODELS, GEMINI_MODELS, and LLM_MODELS
so deployments like actwyser can extend the dropdown without forking. Defaults
now include gpt-5.4-mini, gpt-5.4, and current Gemini 3.x/2.5 ids.

* Potential fix for pull request finding 'Unused import'

* Remove unused LLM_MODELS and fix blank lines

Drop get_llm_models import after merge; keep DEFAULT_LLM_MODEL for session default.

* Fix ruff violations in streamlit_app for quality-gate

lint-changed runs ruff on entire touched files; apply auto-fixes,
formatting, and targeted noqa/import/except updates so QG passes.
…security-updates

Promote reviewed security updates to main
…ile-parsing-security-patches

File parsing security patches
…security-updates

Promote file-parsing security patch to main
…climateandtech#4)

* Add complete benchmarking system for information retrieval evaluation

• Extended database schema with 4 new tables for benchmarking data
• Created comprehensive data models with Pydantic validation
• Implemented dataset loader with YAML/JSON support and validation
• Built evaluation engine with precision, recall, F1, NDCG, MAP, MRR metrics
• Added full Streamlit UI integration with 4 sub-tabs for benchmarking workflow
• Included comprehensive test suite with 31 passing tests
• Added plotly dependency for metrics visualization
• Created sample TCFD benchmark dataset for testing
• Updated .gitignore to exclude Cursor IDE files

* Update pulsar-client version to 3.6.1

- Fix pulsar-client version from 3.6.0 to 3.6.1 (3.6.0 not available)
- Add venv2/ to .gitignore

* Add flexible benchmark dataset support and ClimRetrieve integration

- Unify BenchmarkDataset and FlexibleBenchmarkDataset into single flexible class
- Add DatasetType enum for IR and IE datasets
- Add FlexibleDatasetRow with get_X() helper methods for variant column names
- Create flexible CSV and SQLite loaders with automatic type detection
- Update evaluation engine to compare flexible IR and IE datasets
- Add comprehensive tests for flexible dataset loaders and evaluation
- Create ClimRetrieve benchmark script with Excel support and content-based matching
- Update benchmark_store to handle optional fields in unified model
- Add documentation for flexible dataset flow
- Update README with benchmark running instructions

* Add flexible benchmark dataset support and ClimRetrieve integration

- Unify BenchmarkDataset and FlexibleBenchmarkDataset into single flexible class
- Add DatasetType enum for IR and IE datasets
- Add FlexibleDatasetRow with get_X() helper methods for variant column names
- Create flexible CSV and SQLite loaders with automatic type detection
- Update evaluation engine to compare flexible IR and IE datasets
- Add comprehensive tests for flexible dataset loaders and evaluation
- Create ClimRetrieve benchmark script with Excel support and content-based matching
- Update benchmark_store to handle optional fields in unified model
- Add documentation for flexible dataset flow
- Update README with benchmark running instructions

* Format benchmark code and add merge assessment

- Format all benchmark files with black and isort
- Add assessment document for benchmark_zhenya merge requirements
- Fix import formatting in test files

* Add .devnotes/ to .gitignore for development assessments

* Exclude report_analyst_enterprise from black and isort linting

- Add report_analyst_enterprise to black exclude pattern
- Add report_analyst_enterprise to isort skip list
- Update test_linting.py to filter out report_analyst_enterprise errors
- Fixes CI linting failure on node_modules files in report_analyst_enterprise

* Format test_linting.py with black

- Fix black formatting issues in test_linting.py
- All linting checks now pass

* Remove emojis from benchmarking feature

- Remove emojis from benchmarking UI headers and tab labels
- Remove emoji from benchmarking page header in streamlit app

* Bugs identified, chunk dataset created, cliretrieve yaml created

* Benchmarking tab added

* added analysis against climretrieve question set, removed unnecessary logs

* download error analysis dataset implementation, metrics evaluation bug fixed

* creating a possibility for report analyst to be a package

* fixing toml file

* fixing toml file 2

* fixing toml file 3

* fixing toml file 4

* Remove accidental frontend artifacts from benchmark branch

- Stop tracking committed node_modules and generated build outputs
- Ignore artifact directories to prevent accidental recommits

* Ignore coverage.xml artifact

- Keep generated coverage report out of version control

* Format files for latest Black CI

- Apply Black-compatible formatting updates in benchmark storage and cache modules
- Normalize formatting in affected benchmark and integration tests

* implementing alignment option for the datasets of various structures

* fixing missing climretrieve test

* fixing black test

* fixing flake8 bug

* fixing warning issue

* fixing warning issue

* untracking data folder, modifying COLAB.md

* Fix CI: benchmark_store fixture, black format, pytest-asyncio

- Fix merge conflict in test_benchmark_store: use BenchmarkStore for schema only, single yield with try/finally
- Apply black formatting to multi-line execute()/st.info() in 7 files
- Fix pyproject.toml exclude typo and set asyncio_default_fixture_loop_scope

* edited readme files, added a feature to download aligned datasets from UI

* Resolve conflicts after syncing with remote

* deleting  merge conflict marker

* Potential fix for pull request finding 'Unused import'

Co-authored-by: Copilot Autofix powered by AI <223894421+github-code-quality[bot]@users.noreply.github.com>

* Feature/benchmarking bugfixes (climateandtech#38)

* flexible dataset alignment implementation
* Add unit tests for flexible benchmark modules.

Cover flexible_alignment, dataset_normalizer, and classification_calibration
to address PR climateandtech#38 review feedback requesting tests for new classes.

* Fix CI lint formatting on benchmark and integration tests.

Apply black to new flexible benchmark test modules and isort fix for
external service integration imports so the lint job passes.

---------

Co-authored-by: suung <chris@devolute.org>

* Fix duplicate Streamlit keys in classification panel

* Format benchmark.py with Black

* Fix CI ruff and raise benchmarking module coverage.

- Clear quality-gate ruff failures on changed files after main merge
- Add unit tests for error_analysis, UI, mapper/loader/engine edges
- Fix error_analysis field access; drop dead upload UI and debug log
- Fix cache_manager double-text() execute; use package-level --cov in QG

* Remove unused BLE001 noqa flagged by CI ruff.

* Use MockEmbedding when reloading vector store from cached vectors.

VectorStoreIndex.from_documents no longer requires OPENAI_API_KEY when
chunks already include embeddings, so CI cache tests pass without a real key.

* Enforce E501 in streamlit_app and wrap long lines

Drop file-level E501 noqa so quality-gate catches line length; split long
f-strings/help/CSS/HTML for PR review.

* Format streamlit_app with black after E501 wraps

* Fix DocumentAnalyzer construction on Benchmarking page

Add regression test that forbids DocumentAnalyzer(cache_manager=).
Use ReportAnalyzer() like other nav pages; it already owns cache_manager.

* Clear minor GitHub Code Quality notes on benchmarking

Drop unused IGNORE_ACTION from conftest, document soft DB/OS
excepts, use generate_chunk_id directly in apply, and satisfy
mixed-return analysis after pytest.skip.

---------

Co-authored-by: Huryn Yauheni <gurinevgeniy12@gmail.com>
Co-authored-by: YauheniHuryn <126465715+YauheniHuryn@users.noreply.github.com>
Co-authored-by: nicooxxx <nicox535@gmail.com>
Co-authored-by: Nico <150376360+nicooxxx@users.noreply.github.com>
…-nltk-security-patch

Pinned NLTK security dependency
@mounacheikho-cmd
mounacheikho-cmd deleted the issue-102-langchain-core-security-patch branch August 10, 2026 14:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants