Skip to content

Release v0.2.0: Sequential mode improvements and refactoring - #289

Merged
aoustry merged 4 commits into
mainfrom
claude/prepare-0-2-0-release-teluvc
Aug 24, 2026
Merged

Release v0.2.0: Sequential mode improvements and refactoring#289
aoustry merged 4 commits into
mainfrom
claude/prepare-0-2-0-release-teluvc

Conversation

@aoustry

@aoustry aoustry commented Aug 24, 2026

Copy link
Copy Markdown
Collaborator

Process ID

Process: N/A

Description

This PR releases version 0.2.0 with several significant improvements and refactoring:

Key Changes

  1. Sequential mode carry-over length is now user-controlled - Introduces a new resolution.carry-over-length parameter (default: block-overlap) that allows users to control how many shared leading timesteps of block N+1 are pinned to block N's solved values. This replaces the previous hardcoded behavior and fixes incorrect stitching for block-overlap >= 2.

  2. linopy upgraded to >=0.9.0 - Minimum supported Python version now rises to 3.11 accordingly.

  3. Module reorganization - validate_optim_config moved from gems_craft.optim_config.parsing to gems_craft.optim_config.validation. Package-level imports remain unchanged; only direct imports from the parsing module need updating.

  4. Removed unused models-design/ folder - Cleaned up drawio diagrams that are no longer referenced.

  5. Fixed fast thermal heuristic with no minimum power - find_min_generation_fast no longer short-circuits to all-zero output when min_power_per_unit is ~0, ensuring unit-commitment information is preserved.

  6. Standard library parsing now accepts hybrid port-type fields - parse_yaml_library no longer rejects area-connection / thermal-capacity-connection on port-types.

Impact Analysis

Modules affected: optim_config/, simulation/ (thermal heuristics)

Solver output changes: The fix to sequential mode stitching may produce different results for problems using block-overlap >= 2, as the previous behavior was incorrect. The thermal heuristic fix ensures committed units remain available for production when minimum power is near zero.

Checklist

  • Unit tests pass (pytest)
  • Type checking passes (mypy)
  • Formatting passes (black, isort)
  • pyproject.toml version bumped (0.1.3 → 0.2.0)
  • AGENTS.md reviewed for impact and updated if needed

https://claude.ai/code/session_01QwP1EdXwXBpTQdTqT7U5yP

aoustry and others added 4 commits August 24, 2026 09:28
Bump version from 0.1.3 to 0.2.0 in pyproject.toml and uv.lock, and
finalize the CHANGELOG for the 0.2.0 release: integer strategy and thermal
heuristics, lower_bound()/upper_bound() expression operators, the
configurable sequential-mode carry-over-length, the linopy >= 0.9.0 upgrade
(Python >= 3.11), the optim-config parsing/validation split, and the
fast-heuristic and hybrid port-type fixes that landed since 0.1.3.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QwP1EdXwXBpTQdTqT7U5yP
The deleted models-design/ folder was repo-internal tooling never shipped
in the package, so it does not belong in the user-facing changelog.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QwP1EdXwXBpTQdTqT7U5yP
@aoustry
aoustry marked this pull request as ready for review August 24, 2026 09:33
@aoustry
aoustry merged commit dd8bf2a into main Aug 24, 2026
2 checks passed
@aoustry
aoustry deleted the claude/prepare-0-2-0-release-teluvc branch August 24, 2026 10:01
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