Skip to content

Release v1.0.0: Mark expressql as Production/Stable#9

Merged
Grayjou merged 2 commits into
mainfrom
copilot/update-version-and-metadata
Jan 17, 2026
Merged

Release v1.0.0: Mark expressql as Production/Stable#9
Grayjou merged 2 commits into
mainfrom
copilot/update-version-and-metadata

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented Jan 17, 2026

Mark expressql as production-ready with v1.0.0, establishing API stability commitment. Package has zero open issues, comprehensive test coverage across Python 3.8-3.14, and full Sphinx documentation.

Version & Metadata

  • pyproject.toml: Bump version 0.3.91.0.0, classifier BetaProduction/Stable
  • docs/source/conf.py: Update version 0.3.71.0.0

Documentation Updates

README.md

  • Python Support: Added explicit statement about Python 3.8-3.14 support with CI coverage
  • Ecosystem Section: New section positioning expressql within SQL toolkit:
    • expressql: Expression/condition DSL (this package)
    • recordsQL: DML query builder (SELECT, INSERT, UPDATE, DELETE, JOIN, WITH)
    • tablesQLite: DDL schema management (CREATE TABLE, ALTER TABLE, migrations)
  • FAQ: Expanded to explain modular architecture and integration patterns
  • Roadmap: Refined goals, removed deprecated items (full query builder now separate package)

CHANGELOG.md

  • Added v1.0.0 release entry documenting stable release, ecosystem links, and production readiness

Testing

All 173 existing tests pass. No code changes—metadata and documentation only.

Original prompt

Objective

Prepare expressql for the 1.0.0 stable release by updating version numbers, documentation, and project metadata to reflect production-ready status.

Changes Required

1. Update pyproject.toml

  • Bump version from 0.3.9 to 1.0.0
  • Change classifier from "Development Status :: 4 - Beta" to "Development Status :: 5 - Production/Stable"
  • Verify Python version classifiers include 3.8 through 3.14 (should already be present)

2. Update docs/source/conf.py

  • Update release = '1.0.0' (currently shows 0.3.7)
  • Update version = '1.0.0' (currently shows 0.3.7)

3. Update README.md

Add Python version support statement

After the introductory paragraph, add:

**Supports Python 3.8 through 3.14** with comprehensive test coverage across all versions.

Add Ecosystem section

Add this new section after the Features section and before the Quick Example:

---

## 🔗 Ecosystem

**expressql** is part of a complete SQL toolkit for Python:

- **expressql** (this package) - Build SQL expressions and conditions with safe, intuitive syntax
- **[recordsQL](https://github.com/Grayjou/recordsQL)** - Full query builder for DML operations (SELECT, INSERT, UPDATE, DELETE, JOIN, WITH)
- **[tablesQLite](https://github.com/Grayjou/tablesQLite)** - SQLite schema management and DDL operations (CREATE TABLE, ALTER TABLE, migrations)

Use them independently or together for a complete, type-safe SQL solution.

---

Update FAQ section

Replace the first FAQ question "Why doesn't expressql include full query builders?" with:

**Why doesn't expressql include full query builders?**  
expressql focuses specifically on expressions and conditions - the building blocks of SQL queries. For complete query building: 
- Use **[recordsQL](https://pypi.org/project/recordsql/)** for DML operations (SELECT, INSERT, UPDATE, DELETE)
- Use **[tablesQLite](https://pypi.org/project/tablesqlite/)** for DDL operations (CREATE TABLE, schema management)

This modular approach lets you use only what you need, or combine all three for a complete SQL solution.

Update Roadmap section

Replace the current roadmap with:

## Roadmap

- 🌌 More built-in SQL functions (`expressql.functions`)
- 🌌 Chain-aware logical optimizations
- 🌌 Better error tracing and SQL preview options
- 🌌 Performance optimizations for complex expression trees

4. Create/Update CHANGELOG.md

Create or update the changelog file with:

# Changelog

## [1.0.0] - 2026-01-17

### 🎉 First Stable Release

expressql is now production-ready! This release marks API stability and commitment to backward compatibility.

### Added
- **Python 3.8 - 3.14 support** with full CI/CD testing across all versions
- Ecosystem documentation linking to recordsQL and tablesQLite

### Changed
- Updated development status from Beta to Production/Stable
- Comprehensive documentation updates with ecosystem links
- Clarified package scope and integration patterns

### Notes
- All core features from 0.3.x are stable and tested
- Comprehensive test coverage with pytest
- Full Sphinx documentation available
- Zero open issues

## [0.3.9] - 2026-01-15

### Changed
- Fix negation features
- Modernize project structure with tests and docstrings
- Fix NotIn.__new__ recursion bug
- Fix NULL comparison, float precision, and API documentation
- Improve condition parsing for IN, LIKE, and BETWEEN
- Add comprehensive Sphinx documentation

**Full Changelog**: https://github.com/Grayjou/expressql/commits/0.3.9

Success Criteria

  • Version updated to 1.0.0 in all relevant files
  • Development status changed to Production/Stable
  • Documentation version synced to 1.0.0
  • README includes Python version support, ecosystem section, updated FAQ and roadmap
  • CHANGELOG.md documents the 1.0.0 release
  • All changes maintain existing formatting and structure

Context

This release marks expressql as production-ready with:

  • Zero open issues
  • Comprehensive test coverage across Python 3.8-3.14
  • Full Sphinx documentation
  • Active maintenance (v0.3.9 released recently)
  • Clear ecosystem positioning with recordsQL and tablesQLite as companion packages

This pull request was created from Copilot chat.


💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.

- Bump version from 0.3.9 to 1.0.0 in pyproject.toml
- Change development status to Production/Stable
- Update docs version to 1.0.0
- Add Python 3.8-3.14 support statement to README
- Add Ecosystem section linking recordsQL and tablesQLite
- Update FAQ with detailed package integration info
- Update Roadmap with refined goals
- Add 1.0.0 release entry to CHANGELOG.md

Co-authored-by: Grayjou <97294747+Grayjou@users.noreply.github.com>
Copilot AI changed the title [WIP] Prepare expressql for 1.0.0 stable release Release v1.0.0: Mark expressql as Production/Stable Jan 17, 2026
Copilot AI requested a review from Grayjou January 17, 2026 07:36
@Grayjou Grayjou marked this pull request as ready for review January 17, 2026 08:17
@Grayjou Grayjou merged commit 0351cee into main Jan 17, 2026
14 checks passed
@Grayjou Grayjou deleted the copilot/update-version-and-metadata branch January 17, 2026 08:17
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.

2 participants