Skip to content

Commit 1058e95

Browse files
committed
docs: update ROADMAP with v2.2.0 completion and v2.3 planning notes
1 parent 6bcf865 commit 1058e95

1 file changed

Lines changed: 40 additions & 34 deletions

File tree

ROADMAP.md

Lines changed: 40 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -5,62 +5,68 @@ It is maintained alongside the code and updated with each release.
55

66
---
77

8-
## v2.2.0 (In Progress)
8+
## v2.2.0 (Released)
99

1010
**Theme:** Test Infrastructure + Dependency Modernization
1111

12-
- Jetty 11 -> 12 (EE 10) + Servlet 6.0 to align with Jersey 3.1.5
13-
- Enable the full integration test suite (~50 REST tests, broken since Java 17 upgrade)
14-
- Lucene 8.7 -> 9.12 (latest compatible with Java 17)
15-
- BouncyCastle migration to jdk18on artifact line
16-
- auth0 java-jwt bump to latest 4.x
17-
- docs-importer Node.js 14 -> 20 LTS
18-
- OIDC RP-Initiated Logout (end_session_endpoint)
19-
- Fix tag search prefix matching (exact match instead of startsWith)
20-
- Hide user/group lists from guest users
21-
- Dockerfile: HEALTHCHECK, non-root user, pinned base image
12+
- Jetty 12.0.21 (EE10, Servlet 6.0)
13+
- 74 integration tests running in CI
14+
- Lucene 9.12.3, BouncyCastle 1.83, java-jwt 4.5.1, Node 20
15+
- External logout support (docs.logout_url + OIDC RP-Initiated Logout)
16+
- Guest user privacy fix
17+
- Docker hardening (HEALTHCHECK, non-root user)
2218

23-
Tracking: [GitHub Milestone v2.2.0](https://github.com/fmaass/teedy-docs/milestone/1)
19+
See [release notes](https://github.com/fmaass/teedy-docs/releases/tag/v2.2.0) for details.
2420

2521
---
2622

27-
## Future Consideration (v2.3+)
23+
## v2.3.0 (Planning)
2824

29-
Items discussed and intentionally deferred. Roughly ordered by community interest.
25+
**Working theme:** Developer Experience + Search Improvements
3026

31-
### Auto-tagging via regex matchers
32-
Upstream [sismics/docs#234](https://github.com/sismics/docs/issues/234) (9 comments).
33-
Regex-based tag rules similar to Paperless-ngx: define patterns that automatically apply tags to newly imported documents. Significant feature, requires UI for rule management.
27+
Items to consider for the next release. Not all will make the cut -- this is the input for planning, not the plan itself.
3428

35-
### Admin-only tag management
36-
Upstream [sismics/docs#323](https://github.com/sismics/docs/issues/323) (10 comments).
37-
RBAC for tag creation -- only admins can create/rename/delete tags, regular users can only apply existing ones. Medium effort.
29+
### Carried over from v2.2
3830

39-
### Trash / recycle bin
40-
Upstream [sismics/docs#328](https://github.com/sismics/docs/issues/328).
41-
Soft-delete with restore capability. Requires new DB table for deleted documents, UI for trash view, and scheduled permanent deletion.
31+
- **Configurable tag search mode** ([#5](https://github.com/fmaass/teedy-docs/issues/5)): add a setting to switch between prefix matching (current default) and exact matching. Deferred from v2.2 because the exact-match change was too disruptive without a toggle.
4232

43-
### Lucene 10.x
44-
Requires Java 21 (project is currently on Java 17). Revisit when the minimum Java version is bumped. The v2.2.0 Lucene 9.x upgrade keeps us on the latest version compatible with Java 17.
33+
### Infrastructure / DX
4534

46-
### Frontend modernization
47-
AngularJS 1.x reached end-of-life in January 2022. A full rewrite to a modern framework (Angular, React, or Vue) would be a major project but would unlock modern tooling, better accessibility, and mobile responsiveness.
35+
- **Technical API user for deployment testing**: set up a long-lived API token or a Traefik bypass route for smoke-testing endpoints behind Authelia. We hit integration issues in v2.2 that couldn't be verified without manual browser testing.
36+
- **Synology non-root compatibility**: the `USER jetty` directive in the Dockerfile doesn't work on Synology NAS due to BTRFS/ACL restrictions. Investigate alternatives (matching UID to host, entrypoint script with `gosu`, or documenting the `user: "0:0"` workaround more prominently).
37+
- **`TestPdfFormatHandler.testIssue373`**: currently `@Ignore`d because the test PDF was never committed. Either find/recreate the PDF or replace with a different OCR extraction test.
4838

49-
### Improved email integration
50-
Upstream [sismics/docs#352](https://github.com/sismics/docs/issues/352).
51-
Better IMAP inbox monitoring, attachment extraction, and email-to-document workflows.
39+
### Search & Indexing
5240

53-
### Webhook / event system
54-
Allow external systems to subscribe to document events (created, tagged, shared). Would enable integration with automation platforms.
41+
- **Full-text search improvements**: stemming, synonyms, multi-language analyzers (Lucene 9 unlocks better analysis chains)
42+
- **Lucene 10.x**: requires Java 21. If we bump the minimum Java version, this comes along for free. Assess Java 21 readiness of all dependencies first.
43+
44+
### Features (community interest)
45+
46+
- **Auto-tagging via regex matchers** (upstream [sismics/docs#234](https://github.com/sismics/docs/issues/234), 9 comments): the most requested community feature. Regex-based tag rules like Paperless-ngx.
47+
- **Admin-only tag management** (upstream [sismics/docs#323](https://github.com/sismics/docs/issues/323), 10 comments): RBAC for tag creation.
48+
- **Trash / recycle bin** (upstream [sismics/docs#328](https://github.com/sismics/docs/issues/328)): soft-delete with restore.
49+
50+
### Bigger bets (high effort, high impact)
51+
52+
- **Frontend modernization**: AngularJS 1.x is EOL. A rewrite to a modern framework would be the single highest-impact change but also the largest undertaking.
53+
- **Webhook / event system**: document lifecycle events for external automation.
54+
- **S3-compatible storage backend**: store files in object storage instead of local filesystem.
55+
56+
### Lessons from v2.2 to apply
57+
58+
- Always test logout/auth flows end-to-end behind the actual proxy setup, not just unit tests
59+
- Synology NAS has filesystem quirks that break common Docker patterns (non-root user, chown)
60+
- The Jetty 12 upgrade was less scary than expected -- don't over-estimate risk on well-documented migrations
61+
- Having the full test suite running is transformative -- every subsequent change gets immediate feedback
5562

5663
---
5764

5865
## Ideas / Wishlist
5966

6067
Lower-priority ideas that may be worth exploring:
6168

62-
- **Full-text search improvements**: stemming, synonyms, multi-language analyzers
6369
- **Bulk operations UI**: select multiple documents for tagging, moving, or deleting
6470
- **Document templates**: pre-filled metadata for common document types
6571
- **Audit log**: track who viewed/edited/shared documents
66-
- **S3-compatible storage backend**: store files in object storage instead of local filesystem
72+
- **Improved email integration** (upstream [sismics/docs#352](https://github.com/sismics/docs/issues/352)): IMAP monitoring, attachment extraction

0 commit comments

Comments
 (0)