Skip to content

Commit 022b8a4

Browse files
Merge pull request #296 from yusufkaraaslan/development
Max page hot-fix
2 parents 1456e8b + c725a64 commit 022b8a4

7 files changed

Lines changed: 21 additions & 11 deletions

File tree

CHANGELOG.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,16 @@ All notable changes to Skill Seeker will be documented in this file.
55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
66
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
77

8+
## [3.1.1] - 2026-02-23
9+
10+
### 🐛 Hotfix
11+
12+
### Fixed
13+
- **`create` command `max_pages` AttributeError** — Fixed crash when `max_pages` argument was not provided in web source routing. Uses `getattr()` for safe attribute access (#293, #294)
14+
15+
### Changed
16+
- Version bump to 3.1.1
17+
818
## [3.1.0] - 2026-02-23
919

1020
### 🎯 "Unified CLI & Developer Experience" — Feature Release

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
44

55
[project]
66
name = "skill-seekers"
7-
version = "3.1.0"
7+
version = "3.1.1"
88
description = "Convert documentation websites, GitHub repositories, and PDFs into Claude AI skills. International support with Chinese (简体中文) documentation."
99
readme = "README.md"
1010
requires-python = ">=3.10"

src/skill_seekers/_version.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ def get_version() -> str:
2828
"""
2929
if tomllib is None:
3030
# Fallback if TOML library not available
31-
return "3.1.0" # Hardcoded fallback
31+
return "3.1.1" # Hardcoded fallback
3232

3333
try:
3434
# Get path to pyproject.toml (3 levels up from this file)
@@ -37,7 +37,7 @@ def get_version() -> str:
3737

3838
if not pyproject_path.exists():
3939
# Fallback for installed package
40-
return "3.1.0" # Hardcoded fallback
40+
return "3.1.1" # Hardcoded fallback
4141

4242
with open(pyproject_path, "rb") as f:
4343
pyproject_data = tomllib.load(f)
@@ -46,7 +46,7 @@ def get_version() -> str:
4646

4747
except Exception:
4848
# Fallback if anything goes wrong
49-
return "3.1.0" # Hardcoded fallback
49+
return "3.1.1" # Hardcoded fallback
5050

5151

5252
__version__ = get_version()

src/skill_seekers/cli/create_command.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -152,7 +152,7 @@ def _route_web(self) -> int:
152152
self._add_common_args(argv)
153153

154154
# Add web-specific arguments
155-
if self.args.max_pages:
155+
if getattr(self.args, "max_pages", None):
156156
argv.extend(["--max-pages", str(self.args.max_pages)])
157157
if getattr(self.args, "skip_scrape", False):
158158
argv.append("--skip-scrape")

tests/test_cli_paths.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,7 @@ def test_main_cli_version_output(self):
138138

139139
# Should show version
140140
output = result.stdout + result.stderr
141-
self.assertIn("3.1.0", output)
141+
self.assertIn("3.1.1", output)
142142

143143
except FileNotFoundError:
144144
# If skill-seekers is not installed, skip this test

tests/test_package_structure.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ def test_cli_has_version(self):
2424
import skill_seekers.cli
2525

2626
assert hasattr(skill_seekers.cli, "__version__")
27-
assert skill_seekers.cli.__version__ == "3.1.0"
27+
assert skill_seekers.cli.__version__ == "3.1.1"
2828

2929
def test_cli_has_all(self):
3030
"""Test that skill_seekers.cli package has __all__ export list."""
@@ -88,7 +88,7 @@ def test_mcp_has_version(self):
8888
import skill_seekers.mcp
8989

9090
assert hasattr(skill_seekers.mcp, "__version__")
91-
assert skill_seekers.mcp.__version__ == "3.1.0"
91+
assert skill_seekers.mcp.__version__ == "3.1.1"
9292

9393
def test_mcp_has_all(self):
9494
"""Test that skill_seekers.mcp package has __all__ export list."""
@@ -108,7 +108,7 @@ def test_mcp_tools_has_version(self):
108108
import skill_seekers.mcp.tools
109109

110110
assert hasattr(skill_seekers.mcp.tools, "__version__")
111-
assert skill_seekers.mcp.tools.__version__ == "3.1.0"
111+
assert skill_seekers.mcp.tools.__version__ == "3.1.1"
112112

113113

114114
class TestPackageStructure:
@@ -212,7 +212,7 @@ def test_root_has_version(self):
212212
import skill_seekers
213213

214214
assert hasattr(skill_seekers, "__version__")
215-
assert skill_seekers.__version__ == "3.1.0"
215+
assert skill_seekers.__version__ == "3.1.1"
216216

217217
def test_root_has_metadata(self):
218218
"""Test that skill_seekers root package has metadata."""

uv.lock

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)