release: v0.2.7 with Snowflake connector, Arrow export, and benchmark suite

- Add Snowflake connector with multi-authentication support (PR #276)
- Add Apache Arrow export with explicit schemas (PR #273)
- Add comprehensive benchmark suite with regression CLI (PR #289)
- Update version to 0.2.7 across all files
- Update documentation and citations
- 44/44 tests passing, zero breaking changes
This commit is contained in:
KaifAhmad1
2026-02-09 12:55:23 +05:30
parent ae8cbcde68
commit affe3aa8bd
5 changed files with 23 additions and 65 deletions
+14 -1
View File
@@ -5,7 +5,9 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [Unreleased]
## [0.2.7] - 2026-02-09
### Added / Changed
- **Snowflake Connector for Data Ingestion** (PR #276 by @Sameer6305):
- Native Snowflake connector with multi-authentication (password, OAuth, key-pair, SSO)
@@ -19,6 +21,17 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Added Apache Arrow exporter with explicit schemas, entity/relationship export, compression support
- Integrated with export module and method registry, Pandas/DuckDB compatible
- 20 unit tests + 1 integration test, complete documentation with examples
- **Comprehensive Benchmark Suite with Regression CLI** (PR #289 by @ZohaibHassan16, @KaifAhmad1):
- 137+ benchmarks across all 10 Semantica modules (Input, Core, Storage, Context, QA, Ontology, etc.)
- Environment-agnostic design with robust mocking system for CI/CD compatibility
- Statistical regression detection using Z-score analysis with configurable thresholds
- Automated performance auditing via GitHub Actions workflow
- Comprehensive documentation suite (benchmarks.md, architecture guides, usage examples)
- Zero breaking changes, production-ready with ultra-fast text processing (>10,000 ops/s)
- Added benchmark runner CLI: `python benchmarks/benchmark_runner.py`
## [Unreleased]
## [0.2.6] - 2026-02-03
-56
View File
@@ -1,56 +0,0 @@
# Release Process for Semantica
This document outlines the steps to release a new version of the Semantica framework.
## 1. Versioning Policy
Semantica follows [Semantic Versioning (SemVer)](https://semver.org/).
- **MAJOR** version for incompatible API changes.
- **MINOR** version for functionality added in a backwards compatible manner.
- **PATCH** version for backwards compatible bug fixes.
## 2. Pre-release Checklist
Before releasing, ensure:
- [ ] All tests pass: `pytest`
- [ ] Documentation is up to date in `docs/` and `MkDocs` config.
- [ ] `CHANGELOG.md` is updated with the latest changes.
- [ ] Version is updated in:
- `semantica/__init__.py`
- `pyproject.toml`
- `docs/citation.md` (BibTeX entry)
## 3. Release Steps
### Automated Release (Recommended)
The project uses GitHub Actions for automated releases to PyPI.
1.29. **Tag the commit**: Create a new git tag for the version (e.g., `v0.2.3`).
```bash
git tag -a v0.2.3 -m "Release v0.2.3"
git push origin v0.2.3
```
2. **GitHub Action**: The `Release` workflow will automatically trigger, build the package, create a GitHub Release, and publish to PyPI using Trusted Publishing.
### Manual Release
If you need to release manually:
1. **Build the package**:
```bash
python -m build
```
2. **Verify the build**:
```bash
twine check dist/*
```
3. **Upload to PyPI**:
```bash
twine upload dist/*
```
## 4. Post-release
- Verify the new version is available on [PyPI](https://pypi.org/project/semantica/).
- Check the [GitHub Releases](https://github.com/your-org/semantica/releases) page for the new release notes.
+5 -5
View File
@@ -12,22 +12,22 @@ How to cite Semantica in academic papers and research.
author = {Hawksight AI},
year = {2026},
url = {https://github.com/Hawksight-AI/semantica},
version = {0.2.6},
version = {0.2.7},
doi = {10.5281/zenodo.XXXXXXX}
}
```
### APA
Hawksight AI. (2026). *Semantica: An Open Source Framework for Semantic Layers and Knowledge Engineering* (Version 0.2.6) [Computer software]. https://github.com/Hawksight-AI/semantica
Hawksight AI. (2026). *Semantica: An Open Source Framework for Semantic Layers and Knowledge Engineering* (Version 0.2.7) [Computer software]. https://github.com/Hawksight-AI/semantica
### MLA
Hawksight AI. *Semantica: An Open Source Framework for Semantic Layers and Knowledge Engineering*. Version 0.2.6, GitHub, 2026, https://github.com/Hawksight-AI/semantica.
Hawksight AI. *Semantica: An Open Source Framework for Semantic Layers and Knowledge Engineering*. Version 0.2.7, GitHub, 2026, https://github.com/Hawksight-AI/semantica.
### Chicago
Hawksight AI. *Semantica: An Open Source Framework for Semantic Layers and Knowledge Engineering*. Version 0.2.6. GitHub, 2026. https://github.com/Hawksight-AI/semantica.
Hawksight AI. *Semantica: An Open Source Framework for Semantic Layers and Knowledge Engineering*. Version 0.2.7. GitHub, 2026. https://github.com/Hawksight-AI/semantica.
### IEEE
Hawksight AI, "Semantica: An Open Source Framework for Semantic Layers and Knowledge Engineering," Version 0.2.6, GitHub, 2026. [Online]. Available: https://github.com/Hawksight-AI/semantica
Hawksight AI, "Semantica: An Open Source Framework for Semantic Layers and Knowledge Engineering," Version 0.2.7, GitHub, 2026. [Online]. Available: https://github.com/Hawksight-AI/semantica
---
+3 -2
View File
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
[project]
name = "semantica"
version = "0.2.6"
version = "0.2.7"
description = "🧠 Semantica - An Open Source Framework for building Semantic Layers and Knowledge Engineering"
readme = "README.md"
license = { text = "MIT" }
@@ -101,9 +101,10 @@ parse-docling = ["docling>=1.0.0"]
# ---- Database Connectors ----
db-snowflake = ["snowflake-connector-python>=3.0.0", "cryptography>=3.4.0"]
db-arrow = ["pyarrow>=10.0.0"]
db-all = [
"semantica[db-snowflake]"
"semantica[db-snowflake,db-arrow]"
]
# ---- Embedding / Models ----
+1 -1
View File
@@ -10,7 +10,7 @@ Main exports:
- Config: Configuration management
"""
__version__ = "0.2.6"
__version__ = "0.2.7"
__author__ = "Semantica Contributors"
__license__ = "MIT"