Shiori Versions Save

Simple bookmark manager built with Go

v1.6.0-rc.2

8 months ago

Changelog

  • 9082f98 deps: upgrade to Go 1.21 (#698)
  • 4df7e1d feat: build css from less files locally (#735)
  • e722cb6 fix: properly parse mysql connection string, docs update (#730)
  • 3fb3f60 just use one dependency for uuid (#736)
  • 9e91029 refactor: Migrate ePub generation to go-epub (#679)

v1.6.0-rc.1

8 months ago

Changelog

  • 888d053 Allow JWT authentication into legacy APIs (#651)
  • e5f2de0 Fix CI incorrectly tagging RC releases and disables docker builds on forks (#686)
  • a60dbf3 Run legacy API and new API at the same time. (#648)
  • 2cbc592 Show Shiori version on server command (#669)
  • c5c7a5f Show version in login page (#652)
  • 8b015a3 Swagger improvements (#666)
  • faa1ae9 chore: remove irc badge from readme (#674)
  • 307f293 chore: remove verbose logger (#685)
  • e0d4537 default to sqlite, warn dbms users (#667)
  • 1d52569 fix(ci): rc handling
  • ef1d18d fix(db): handle usage of special characters in searches (#721)
  • f4817cb fix: Ensure bookmark files are correctly downloaded before deleting current ones (#683)
  • 454f217 fix: docker buildx tags (#650)
  • b70ab19 fix: package-name in cleanup tag (#655)
  • 6c41661 fix: pr tag prune using other action (#656)
  • 622d556 fix: title is never retrieved when adding bookmark (#664)
  • a60f65f fix: title overwritten if user has defiend it (#684)
  • 7776881 fix: workflow delete tags input (#653)
  • 2e1016e preserve fragment in URLs (#315) (#687)

v1.5.5

10 months ago

What's Changed

Features

Fixes

Other

New Contributors

Full Changelog: https://github.com/go-shiori/shiori/compare/v1.5.4...v1.5.5

v1.5.5-rc.2

10 months ago

What's Changed

Full Changelog: https://github.com/go-shiori/shiori/compare/v1.5.5-rc.1...v1.5.5-rc.2

v1.5.5-rc.1

10 months ago

What's Changed

New Contributors

Full Changelog: https://github.com/go-shiori/shiori/compare/v1.5.4...v1.5.5-rc.1

v1.5.4

1 year ago

Falling back to transparent migrations

After some discussion over #473, we've decided to roll back the change introduced in v1.5.3 that made the user take care of migrations manually.

What does this mean? Basically we added proper migrations into Shiori and added a custom command to perform them, but since our documentation is lacking in some ways most users where a bit confused about what a migration meant, specifically users of the CLI tool which do not rely on the server. In the end, and to avoid adding more complexity to the tool (which is one of the core features) I decided to rollback that change, meaning that everything should be done in the background while you use or serve Shiori. If anything goes wrong, you will get an error on the output which you can use to open an issue and your database should be left as it is.

What's Changed

New Contributors

Full Changelog: https://github.com/go-shiori/shiori/compare/v1.5.3...v1.5.4

v1.5.3

1 year ago

Breaking changes

  • Migrations: Migrations are now implemented in a manual and separate CLI command called migrate. Users need to perform database migrations previous to any other Shiori command in order for the database schema to be created:

    $ shiori add https://github.com
    Failed to create ID: SQL logic error: no such table: bookmark (1)
    exit status 1
    
    $ shiori migrate                  
    
    $ shiori add https://github.com   
    Downloading article...
    
    2. GitHub: Where the world builds software
       > https://github.com
       + GitHub is where over 83 million developers shape the future of software, together. Contribute to the open source community, manage your Git repositories, review code like a pro, track bugs and feat...
    

Changelog

  • b68092c Heroku buildpack support in go.mod (#388)
  • f000f11 Update Usage.md (#435)
  • 7394b10 chore: update go dependencies (#424)
  • 81d52a2 feat: sqlite migrations (#398)
  • 9397832 fix: amd64 build paths (#429)
  • ce8a172 fix: bookmark content download (#413)
  • 0fe24d2 fix: url modification when query param is empty (#411)
  • 8732fd7 implement migration for mysql & postgres (#422)
  • 2b1ddd0 replace assets generation with embed (#423)
  • ca3cc11 sqlite: remove unneeded LEFT JOIN to improve performance (#387)

v1.5.2

2 years ago

What's Changed

New Contributors

Full Changelog: https://github.com/go-shiori/shiori/compare/v1.5.1...v1.5.2

Changelog

  • e1e2c7b Web Server and CI Improvements (#374)
  • 560a677 fix: trying to mkdir over an incorrect data path (#378)

v1.5.1

2 years ago

Breaking changes

  • SQLite users: The SQLite driver has been modified to a non-CGO driver to ease the maintenance and builds of the project, but it came at the cost of replacing the full-text search implementation module for a newer one, each other incompatible with each driver, so we couldn't perform the migration easily directly in shiori. In order for shiori to continue working properly for you, please go to this page that explain what you need to do (and more explaining over why the change). The process is very easy and the binary of the migration tool for x86_64 systems is attached in this release as well.

Changelog

  • c5fd200 Add GitHub Action for tests & coverage
  • bf974fa Add border around table in content view
  • 5903214 Add code of conduct
  • 5bf02d8 Add notice about project archival
  • bccc70b Add option to hide thumbnail image #166
  • a82b882 Add options to hide excerpt #166
  • 76a7856 Add specific size to bookmark_url key
  • 793901c Added Heroku deploy. Fixed go-shiori/shiori#45
  • 72f1a22 Create FUNDING.yml
  • c55b1a3 Default to webpage title, not URL, if user specifies no title
  • a0ce725 Exit with non-zero status when add fails
  • acc86d7 Exit with non-zero status when add fails
  • 32f9d26 Explicit charset for MySQL connection
  • ddf7c37 Fix MySQL column definitions
  • b315c48 Fix content with double braces not rendered #171
  • fbd4e37 Fix custom title and excerpt doesn't saved
  • 018f332 Fix import skipped when title missing #153
  • a5cb2c6 Fix login autofill
  • 28ee496 Fix title is empty when adding bookmark
  • 1d83468 Fix when using extension bookmark doesn't archived
  • d2906b1 Fix wrong cookie path
  • ef248c8 Fix: Bookmark content displays Invalid Date if database is PostgreSQL #201
  • e41cea6 Fix: Safari does not accept document.baseURI for cookie path
  • 7a2bcac Fix: hasArchive icon gone after update bookmark
  • 7d938f3 Fix: checkbox in dialog doesn't work
  • 9835336 Fix: grid layout on dialog
  • 9e962f0 Fix: now cookie set per subpath #39
  • 9ba9d1e Fix: wrong query in PostgreSQL
  • 59a0594 Fixed some typos
  • 752d1ba In no-thumbnail mode, make margin more consistent
  • 4eb86d6 Initial PostgreSQL support
  • 99d2793 Initial support for subpath #39
  • 3a9e53c Initial unit test..
  • df98c28 Make MySQL address changeable #156
  • 0bc1b4a Make sure archive use UTF-8 encoding
  • 5601ac7 Merge branch 'master' into patch-1
  • 6b16943 Merge branch 'master' of github.com:go-shiori/shiori
  • 4d11e35 Merge pull request #158 from disposedtrolley/api-documentation
  • 2cd1b6a Merge pull request #162 from deanishe/default-title-from-page
  • 7d3f8d7 Merge pull request #164 from deanishe/fix-mysql-schema
  • d3d4cc0 Merge pull request #167 from ReekyMarko/patch-1
  • c2eee1d Merge pull request #170 from bvp/master
  • a7b41ae Merge pull request #177 from bvp/master
  • 8146d3a Merge pull request #192 from agorf/patch-1
  • 599afea Merge pull request #199 from nfam/master
  • 243a88c Merge pull request #202 from nfam/master
  • a0d727b Merge pull request #205 from nfam/master
  • 9f7c8bf Merge pull request #206 from khoanguyen96/fix-js-mimetype
  • 60b7f29 Merge pull request #221 from deanishe/fix/autofill
  • b7a5a61 Merge pull request #223 from deanishe/fix/mysql-charset
  • 4ff6ddd Merge pull request #246 from Midek/master
  • 7124dc2 Merge pull request #258 from go-shiori/ci
  • ff5c464 Merge pull request #259 from go-shiori/fix/exit-status
  • a950bfe Merge pull request #264 from lapwat/master
  • cf88489 Merge pull request #341 from n8225/updateDockerfile
  • 1338dc6 Minor improvements and typo fixes in the README text
  • 035658d Move heroku button to badge for consistency
  • a3e1563 Move warc to another package
  • 52bb4d9 Prevent browser doing MIME sniffing #182
  • ee877b8 Remove Radhi's accounts from GitHub Sponsors
  • 748b306 Remove golang from final image
  • 2b4fd9f Remove unneeded alter table transactions from sqlite (#372)
  • f316cb8 Restructure build files
  • 7688990 Revert "Restructure build files"
  • d05d1ad Setup new CI/CD workflows (#365)
  • a4dd1c8 Specify character set when creating MySQL table #188
  • 9f145e2 Tidy up code for opening database
  • b137fe4 Tidy up docs files
  • f1c98a8 Update Dependencies and Replace mattn/go-sqlite with modernc.org/sqlite (#345)
  • 3d74038 Update links and email addresses
  • ff94c36 Update notice about maintainership
  • c77b17c Use formatter in LESS files
  • 988f2d6 Use single quotes for better compatibility
  • 3077c7f Use tab instead of spaces
  • 83e3621 bug: Docker build
  • d70a8f2 chore: configuration for stale bot
  • 91e1bc8 chore: stalebot for pull requests
  • 3c8a66f chore: updated readme
  • feb150f ci: github action to notify releases via irc
  • 92adfa6 feat: add postman collection
  • fb0bf38 feat: async content download when creating via api (#368)
  • a76b121 fix: golangci-lint errors (#366)
  • d569932 fix: remember me session duration (#346)
  • 0bd297d fix: update bookmark on sqlite database (#367)
  • 2ca628b hotfix: fixes session duration from #346
  • 3fe593d update url also when offline mode
  • d1d48ad wrap mime.TypeByExtension with preset mimetypes

What's Changed

New Contributors

Full Changelog: https://github.com/go-shiori/shiori/compare/v1.5.0...v1.5.1

v1.5.0

4 years ago

Today Shiori v1.5.0 is released after almost five months of development (with several long breaks between). This release is quite huge with many changes and improvement from older version. Granted there are still some rough edges, but I think it's still usable enough to release.

Back-End

  • Use Go modules. Thanks to this, we don't need to use Git submodules anymore to include go-readability.
  • Restructure code following Go Project Layout.
  • Huge update in go-readability. Now it closely follows code in Readability.js, which means it now as accurate as Firefox reader mode.
  • Removed account command. Before, on fresh install, to access web interface we need to manually register account. This is quite annoying, especially if we are using Docker. Now, on fresh install we can just login using default password and account (shiori with password gopher).
  • Replace JWT with simple session for login. Before, if an account already login then admin removed that account, the account can still access the web interface as long its JWT key is still valid. Now, thanks to session, if an account got removed we can do mass log out for that account.
  • Use favicon as alternative if hero image doesn't exists.
  • Resized thumbnail image to 4:3 aspect ratio. This is done to make all image looks consistent. If the thumbnail image doesn't have that ratio, it will be padded by color that matches with the image.
  • Add support for MySQL database (#81, thanks to @peteretelej for the groundwork).
  • Add initial support for archiving the entire web page. Before, Shiori only saves the output of go-readability which sometimes not really good (for example is Stack Overflow). Now, when requested Shiori will archive the web page with its entire resource.
  • When a bookmark is archived, the reader mode will uses images and other resources from the archive instead of the one from original site (#108).
  • Add support for bookmarking non HTML URL (#77).
  • Add support for bookmarking non reachable URL (#128).
  • Fix failed to delete many bookmarks at once (#104).
  • Add option to specify address and port number while serving web interface (#101, thanks to @contradictioned).
  • Add portable mode (#126).
  • Set user agent for downloading and archiving an URL (#127).
  • Add support for searching in bookmark's excerpt (#134).
  • Add check command to find bookmarks that no longer available online, thanks to @sascha-andres.
  • Other minor improvements in CLI, which I forgot the detail.

Front-End

  • Use ES6 feature like modules and arrow function. Thanks to modules, I can (kind of) imitate the Vue's single file component without using JS bundler.
  • Use fetch instead of third party library like axios.
  • Increase font size to make it more readable.
  • Move actions from sidebar to header.
  • Revamped the mobile view.
  • Revamped options page and add account management.
  • Uses history state so back and forward button works properly. Thanks to this, now search result can be shared via its URL (#111).
  • Add icons which shows if bookmark has archive or readable content.
  • In list mode, make layout tighter to give space for more visible content.
  • Now bookmarks is sorted by last created instead of last modified.
  • Add initial support for web extension to replace bookmarklet.
  • In Firefox for Android, make the address bar gone while scrolling.
  • Display creation and modified time in local timezone instead of UTC (#103).
  • Make Vue.js doesn't uses development mode in production (#106).
  • Add rel=noopener on link that open in new tab (#105, thanks to @sascha-andres).
  • Group bookmarks that tagged or untagged (#109).
  • Add support to flag whether a bookmark is public or private (#112).
  • Add support for account's level. Now, we can specify whether an account is the owner (i.e. can add and edit data) or only a visitor (i.e can only read the data) (#137).
  • Add tag's auto completion in edit dialog (#135).
  • Add menu to rename the existing tags (#136).

Future Plans

There are still several issues and feature that I want to be implemented in the future :

  • If you look at the source code, you will realize that there are no unit tests. None, at all.
  • Some feature is available in web interface but not in CLI. For example: renaming tags and flagging a bookmark as private or public.
  • I haven't extensively tested the import feature. The issues about importing bookmarks (#121, #125) mention that they have a lot of bookmarks to import. Meanwhile my bookmarks at most only has several hundred entries which is not near enough to what they have. Thanks to this, I haven't been able to reproduce their issues. If any of you willing to submit your bookmarks, feels free to email me.

If you like this project please consider donating to me either via PayPal or Ko-Fi.