v1.6.0
It's finally here! After some work we have started moving towards a more usable and open API for others to consume, with proper session handling (no more random logouts on server shutdowns!), improvements to ePubs, UX and some more!
See details below for more information (important notes are the breaking changes) and please fill an issue if you see anything weird, better be safe than sorry!
Breaking changes
- The
serve
command is considered deprecated and will be removed in a future release. Right now just proxies to a newserver
command that is the one that should be used from now on. - The server command uses a new http backend. This should be transparent to users and all things should keep working as usual, but that meant refactoring some of the underlying systems too, so experiences may vary between deployments and operating systems. Please fill an issue if you see that something is not working as expected.
- We are moving the API to a more stable, documented and with a proper code structure. Right now there's a mix between old and new endpoints until migration is completed. Check the documentation for more information on the new API and this roadmap filter to see progress on the API migration.
- Authentication to the API now uses JWTs instead of session tokens and the endpoint has changed to a new one, please check the documentation mentioned above. This means that there's no longer logout issues when the server is restarted or when you log in in other computer/browser.
- The
--webroot
flag no longer modifies the routes internally, is up to the user to proxy the routes properly to Shiori without the prefix used to serve it.
That means that if you want to serve Shiori underdomain.com/shiori
you need to send the path back to Shiori without the/shiori
prefix so routes keep working. This can be done in most reverse proxies that we're aware of. We provided a sample configuration for Nginx. PRs are welcome for other reverse proxies. - The
shiori/gopher
initial user is a full fledged user instead of being hardcoded into Shiori. If you want a new user you need to create a new owner user and then remove theshiori
user.
Release cadence
Right now the release cadence has been slow because we made too many changes at once and we had to test and finish everything before doing this release. Plan moving forward is to iterate and release faster so we're planning smaller milestones to provide new features and fixes faster to you.
I will post an update announcement when the roadmap is reviewed.
What's Changed
- APIv1: Start working on new REST API. Refactor logic in domains. by @fmartingr in #497
- Run legacy API and new API at the same time. by @fmartingr in #648
- fix: docker buildx tags by @fmartingr in #650
- Allow JWT authentication into legacy APIs by @fmartingr in #651
- Show version in login page by @fmartingr in #652
- fix: package-name in cleanup tag by @fmartingr in #655
- fix: pr tag prune using other action by @fmartingr in #656
- fix: title is never retrieved when adding bookmark by @fmartingr in #664
- Show Shiori version on server command by @fmartingr in #669
- chore: remove irc badge from README by @fmartingr in #674
- fix: title overwritten if user has defined it by @fmartingr in #684
- Proper SQLite default database and warn SHIORI_DBMS users by @fmartingr in #667
- chore: remove verbose logger by @fmartingr in #685
- Fix CI incorrectly tagging RC releases and disables docker builds on forks by @fmartingr in #686
- preserve fragment in URLs (#315) by @arakimo in #687
- Swagger improvements by @fmartingr in #666
- fix: Ensure bookmark files are correctly downloaded before deleting current ones by @Monirzadeh in #683
- fix(db): handle usage of special characters in searches by @fmartingr in #721
- fix: properly parse mysql connection string, docs update by @rutkai in #730
- deps: upgrade to Go 1.21 by @fmartingr in #698
- deps: upgrade github.com/gofrs/uuid to v5 by @Monirzadeh in #736
- feat: build css from less files locally by @fmartingr in #735
- refactor: Migrate ePub generation to go-epub by @Monirzadeh in #679
- chore(deps): bump the all group with 6 updates by @dependabot in #738
- chore(deps): bump the all group with 1 update by @dependabot in #740
- feat: use new JWT auth in all frontend API calls by @fmartingr in #743
- chore(deps): bump the all group with 1 update by @dependabot in #746
- fix: styles-check and swag-check monitor just needed directory not project root by @Monirzadeh in #747
- feat: allow resize the dialogbox for bigger/hidpi screens by @Monirzadeh in #732
- feat: allow per-user settings and store them in database by @Monirzadeh in #639
- fix: Remove unneeded variable and unify the way send token in header by @Monirzadeh in #763
- add create ebook by default in settings by @Monirzadeh in #761
- fix: Actions in overlays on mobile hard to press by @cbe in #759
- fix: Use webp as thumbnail by @Monirzadeh in #758
- Update documentation for add links to shiori in android devices from share menu by @Monirzadeh in #757
- Fix typos by @shirayu in #756
- chore(deps): bump the all group with 1 update by @dependabot in #767
- refactor: migrate ebook routes by @Monirzadeh in #742
- Make suggestions tapable/clickable by @cbe in #765
- chore: frontend formatting by @cbe in #764
- ci: add codecov reporting by @fmartingr in #776
- deps: update go dependencies by @fmartingr in #777
- fix typo by @Monirzadeh in #778
- docs: example deployment for kubernetes by @JPFrancoia in #754
- Add Documentation>CLI>Add bookmark by @LLKoder in #794
- fix: generate coverage profile by @fmartingr in #797
- fix: use noreferer to prevent exposing shiori instance url to archived websites by @istiak101 in #802
- deps: upgrade by @fmartingr in #804
- refactor: migrate bookmark static pages to new http server by @fmartingr in #775
- Fixed lint errors after refactor by @fmartingr in #806
- docs: updated configuration page by @fmartingr in #808
- fix: force usage of shiori prefix for environment variables in configuration by @fmartingr in #807
- deps: updated docker image versions by @fmartingr in #809
- chore(deps): bump the all group with 3 updates by @dependabot in #812
- chore(deps): bump the all group with 3 updates by @dependabot in #815
- chore(deps): bump the all group with 3 updates by @dependabot in #830
- fix: fixes path issues on windows by @Monirzadeh in #829
- fix: regressions and documentation from 1.5.5 upgrade by @fmartingr in #837
- fix: update go-epub to latest version to avoid filename errors on windows by @fmartingr in #840
- fix: point go-epub go correct repository by @fmartingr in #842
- feat: allow authentication using proxy request header by @PterX in #836
New Contributors
- @arakimo made their first contribution in #687
- @rutkai made their first contribution in #730
- @cbe made their first contribution in #759
- @shirayu made their first contribution in #756
- @JPFrancoia made their first contribution in #754
- @LLKoder made their first contribution in #794
- @istiak101 made their first contribution in #802
- @PterX made their first contribution in #836
Full Changelog: v1.5.5...v1.6.0