Files
vvs 1f9cbe4a48 v1.1.0: extend binary matrix to CPython 3.10/3.11/3.13 on Linux and Windows
- Linux x86_64: add cp310, cp311, cp313 (.so), built in conda-forge envs.
- Windows AMD64: add cp310, cp311, cp313 (.pyd), built with MSVC v14.50.
- All eight binaries verified to produce identical numerical output.
- README compatibility table + build provenance updated.
- macOS still deferred.
2026-05-10 11:17:10 +01:00

90 lines
2.9 KiB
Markdown

# Changelog
All notable changes to `sem_cython12` are recorded in this file.
The project follows [Semantic Versioning](https://semver.org/): a
release `MAJOR.MINOR.PATCH` increments
- `MAJOR` on breaking API changes,
- `MINOR` on backwards-compatible feature additions,
- `PATCH` on backwards-compatible bug fixes.
## [1.1.0] - 2026-05-10
Binary matrix expanded to four CPython versions on both supported
platforms.
### Added
- Pre-compiled Linux x86_64 binaries for **CPython 3.10, 3.11, 3.13**
(`sem_core12.cpython-3{10,11,13}-x86_64-linux-gnu.so`). Built in
isolated conda-forge environments with conda-forge gcc, same
OpenMP and optimisation flags as the cp312 binary.
- Pre-compiled Windows AMD64 binaries for **CPython 3.10, 3.11, 3.13**
(`sem_core12.cp3{10,11,13}-win_amd64.pyd`). Built with MSVC v14.50
against the matching CPython installed via `winget`.
### Verified
- All eight binaries (4 Linux + 4 Windows) produce identical numerical
output for the same fixed-seed input on `batch_max_similarity`.
### Compatibility notes
- macOS is still not provided in this release. Contact
`sales@sevana.biz` if you need a macOS build.
- numpy requirement unchanged: `numpy >= 1.23`.
## [1.0.0] - 2026-05-09
First public release.
### Included
- Pre-compiled Linux x86_64 binary (`sem_core12.cpython-312-x86_64-linux-gnu.so`)
built with gcc 13.3, OpenMP-parallel (`libgomp`), `-O3 -ffast-math
-march=native`.
- Pre-compiled Windows AMD64 binary (`sem_core12.cp312-win_amd64.pyd`)
built with MSVC v14.50 (Visual Studio Build Tools 2026),
OpenMP-parallel (`vcomp`), `/O2 /openmp`.
- Python wrapper module `sem_cython12.wrapper` exposing the public
numerical API.
- Single runtime dependency: `numpy >= 1.23`.
### API surface
Configuration:
- `available()`, `backend()`, `get_num_threads()`, `set_num_threads(n)`.
Distance and similarity:
- `batch_max_similarity(X_query, X_members, lam)`
- `concept_support_matrix(X_query, member_mats, lam)`
- `pairwise_distances(X)`
- `nn_distances(X)`
Best-tradeoff filtering:
- `pareto_core_mask(S)`
- `one_sided_mask(S)`
- `non_redundant_witnesses(S)`
Vector reduction:
- `extend_frontier_kernel(cur_centers, cur_radii, new_emb, cur_arity)`
### Compatibility
- CPython 3.12 (cp312) only in this release. Other Python versions
are not supported.
- Linux x86_64 with glibc 2.31 or newer (Ubuntu 20.04 LTS and later,
RHEL 9 and later, Debian 11 and later).
- Windows 10 / Windows 11 / Windows Server 2019+, AMD64 only.
- macOS binaries are not provided in this release. Contact
`sales@sevana.biz` if you need a macOS build.
### Notes
- Thread count defaults to roughly 50% of the host's logical cores.
Override via `sem_cython12.wrapper.set_num_threads(n)` or the
`SEM_NUM_THREADS` environment variable.
- The library performs no network I/O, opens no sockets, and writes
no files outside the calling process's working directory.