You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: RELEASE_NOTES.md
+28-32Lines changed: 28 additions & 32 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,4 +1,4 @@
1
-
# Release Notes — shruggie-feedtools v0.1.5
1
+
# Release Notes — shruggie-feedtools v0.1.6
2
2
3
3
**Release Date:** 2026-02-13
4
4
**Status:** Patch release (Alpha)
@@ -7,53 +7,49 @@
7
7
8
8
## Overview
9
9
10
-
Targeted reliability release resolving two persistent issues from v0.1.4: GUI favicons not surviving CustomTkinter's startup icon overrides, and a stale hardcoded user-agent string. Also eliminates recurring snapshot maintenance caused by version bumps and removes non-functional JSON Feed and WP REST input support.
10
+
Cleanup release that removes non-functional JSON Feed and WordPress REST API input adapters after multiple failed implementation attempts. The codebase is now streamlined to XML-based feed parsing only (RSS 2.0, RSS 1.0/RDF, Atom 1.0, RSS 0.9x, Atom 0.3). JSON output remains the sole output format — unchanged.
11
11
12
12
---
13
13
14
-
## Bug Fixes
14
+
## Breaking Changes
15
15
16
16
### Removed: JSON Feed and WordPress REST API Input Support
17
17
18
-
-**Removed all JSON Feed (input) and WordPress REST API (input) adapters, detection logic, fixtures, and tests** — These features were persistently non-functional after multiple implementation attempts. Input parsing now supports XML-based feeds only (RSS 2.0, RSS 1.0/RDF, Atom 1.0, RSS 0.9x, Atom 0.3).
18
+
-**Removed all JSON Feed (input) and WordPress REST API (input) adapters, detection logic, fixtures, and tests** — These features were persistently non-functional after multiple implementation attempts and have been fully excised from the codebase.
19
19
-**Output format is unchanged** — All output is still JSON. Only the *input* JSON Feed and WP REST adapters have been removed.
- Files removed: `json_feed_adapter.py`, `wp_rest_adapter.py`, and associated fixture/snapshot directories
21
21
- Enum values `"json_feed"` and `"wp_rest"` removed from `source.type`
22
+
- Detection logic removed: `_detect_json_type()`, `derive_wp_rest_posts_url()`, JSON-path routing in detector
23
+
- Parser routing for JSON Feed and WP REST removed from `_route_to_adapter()`
24
+
- Dead code removed: JSON Feed attachments mapping in `_normalize_enclosures()`
25
+
- CLI help text and examples updated to reflect XML-only input support
26
+
- Documentation updated throughout: README, spec, plan, and release notes
22
27
23
-
### GUI Favicon — Win32 API Override
28
+
### Supported Input Formats (as of v0.1.6)
24
29
25
-
-**Fixed: Favicons still not appearing after 3+ prior attempts** — Replaced the unreliable multi-timer race (4 staggered `after()` calls) with a definitive approach:
26
-
- On Windows, uses Win32 API (`LoadImageW` + `SendMessageW` with `WM_SETICON`) via ctypes to set both ICON_SMALL (16×16) and ICON_BIG (32×32) at the OS/window-manager level, completely bypassing tkinter
27
-
- After applying, monkey-patches `iconbitmap` to a no-op so CustomTkinter can never override the icon again
28
-
- Falls back to standard tkinter `iconbitmap` + `wm_iconphoto` on non-Windows platforms
29
-
30
-
### Hardcoded User-Agent Fixed
31
-
32
-
-**Fixed: HTTP User-Agent reporting `shruggie-feedtools/0.1.1` regardless of actual version** — `ParserConfig.user_agent` now uses a `field(default_factory=...)` that reads `__version__` at runtime instead of a hardcoded string. The user-agent will always match the installed version going forward.
30
+
| Format | Example Sources |
31
+
|---|---|
32
+
| RSS 2.0 | Most blogs, podcasts, news sites |
33
+
| RSS 1.0 / RDF | Older syndication feeds |
34
+
| RSS 0.91 / 0.92 | Legacy feeds |
35
+
| Atom 1.0 | GitHub releases, YouTube, status pages |
36
+
| Atom 0.3 | Older Atom feeds |
33
37
34
38
---
35
39
36
-
## Test Infrastructure
37
-
38
-
### Version-Resilient Snapshots
39
-
40
-
-**Fixed: Snapshot tests breaking on every version bump** — The `assert_snapshot` fixture in `conftest.py` now normalizes `shruggie-feedtools/X.Y.Z` to a stable placeholder before comparing, so construct snapshots no longer fail when `_version.py` is bumped. Supports semver and pre-release suffixes.
41
-
42
-
### New Tests
40
+
## Test Results
43
41
44
-
| Area | Tests Added | Description |
45
-
|---|---|---|
46
-
|`test_detector.py`| 3 | Content-type fallback, BOM handling, XML detection |
47
-
|**Total**|**3 new**|**Tests passing**|
42
+
-**276 tests passing** (down from 278 in v0.1.5 — net removal of 46 tests from deleted adapters, offset by prior additions)
43
+
- All remaining XML-based adapter, detector, parser, normalizer, schema, CLI, construct, and template tests pass
48
44
49
45
---
50
46
51
47
## Release Artifacts
52
48
53
49
| Artifact | Description |
54
50
|---|---|
55
-
|`shruggie-feedtools-cli-0.1.5-win-x64.exe`| Standalone Windows CLI executable |
56
-
|`shruggie-feedtools-gui-0.1.5-win-x64.exe`| Standalone Windows GUI executable |
51
+
|`shruggie-feedtools-cli-0.1.6-win-x64.exe`| Standalone Windows CLI executable |
52
+
|`shruggie-feedtools-gui-0.1.6-win-x64.exe`| Standalone Windows GUI executable |
57
53
58
54
Download from [GitHub Releases](https://github.com/shruggietech/shruggie-feedtools/releases).
59
55
@@ -63,11 +59,11 @@ Download from [GitHub Releases](https://github.com/shruggietech/shruggie-feedtoo
63
59
64
60
## Upgrade Notes
65
61
66
-
- Drop-in replacement for v0.1.4 — no schema changes to existing output fields, no API changes for XML-based feed parsing
62
+
- JSON Feed and WP REST API input URLs will no longer parse — these features have been removed
63
+
- No schema changes to existing output fields; no API changes for XML-based feed parsing
64
+
- Drop-in replacement for v0.1.5 for all XML-based feed workflows
67
65
- Download the latest `.exe` from [GitHub Releases](https://github.com/shruggietech/shruggie-feedtools/releases) — no pip install required
68
-
- JSON Feed and WP REST API input URLs will no longer parse (these features have been removed)
69
-
- GUI favicon should now persist reliably on Windows
70
-
- HTTP requests now correctly identify as `shruggie-feedtools/0.1.5`
66
+
- HTTP requests now correctly identify as `shruggie-feedtools/0.1.6`
71
67
72
68
---
73
69
@@ -94,7 +90,7 @@ Download from [GitHub Releases](https://github.com/shruggietech/shruggie-feedtoo
94
90
## Known Limitations
95
91
96
92
- GUI executable is Windows-only in this release
97
-
- No CI test gate prior to release — tests are run locally (317/317 passing)
93
+
- No CI test gate prior to release — tests are run locally (276/276 passing)
0 commit comments