Changelog for FAExport API, should include entries for these types of changes:
- Added for new features.
- Changed for changes in existing functionality.
- Deprecated for soon-to-be removed features.
- Removed for now removed features.
- Fixed for any bug fixes
- Security in case of vulnerabilities.
Format inspired by https://keepachangelog.com/en/1.0.0/
- Fixed submission page to correctly fetch author information after gofundme panel was added
- Fixed FAAccountDisabledError detection, which had also broken due to the gofundme panel
- Fixed note message parsing, which had broken due to a warning notice added into notes
- Updated Makefile to use
docker compose
instead ofdocker-compose
- Fixed reading error responses from FA, including cloudflare responses. Hence fixing detection of error types
- Attempt to fetch data from FurAffinity multiple times in case of intermittent network issues
- Handling "pending deletion" error page, as submission not found error,
fa_not_found
- Added "gallery" key to submission endpoint, saying whether a submission is in gallery or scraps
- Changed the histogram buckets for the
faexport_rss_feed_item_count
prometheus metric
- Now detecting cloudflare challenge pages and correctly detecting FA slowdown requests (previously handled as challenge pages)
- Added "error_type" key to all error responses, for better fine-grained error handling
- Fixed metrics endpoint, after basic auth handling broke it
- Fixed the
faexport_auth_method_total
metric, to actually increment, and removing endpoint labels
- Added support for HTTP basic auth on authenticated endpoints, especially for RSS feeds
- Added metric series
faexport_auth_method_total
to observe how often auth methods are used
- Stripping null bytes from submissions
- Quote cookie variable in Makefile to avoid need to escape them
- Docs comment about browse pages not always returning a full page
- Update dependencies
- Test improvements (handling non-full pages, fast fail on missing tokens)
- Handling new type of deleted comment on FA (Where the comment is non-bold and simply says
[deleted]
)
- Fixed a bug where invalid unicode characters in FA page would cause the API to return a 500 error.
- Updated Ruby version and dependencies
- Updated alpine version in the docker image
- Correctly returns 404 status code and error messages when submissions, journals, and users do not exist.
- Changed some of the HTTP status codes for errors, to more correct codes for each error.
- Fixed parsing of profile name on user endpoint
- Added "guest_access" parameter to user profile endpoint, which says whether a user's page is available to guests without logging in.
- Added new search time ranges:
1day
,3days
,7days
.- Default remains
all
. - Old values of
24hours
,72hours
,week
are automatically mapped to1day
,3days
, or7days
respectively.
- Default remains
- Added new search time ranges:
24hours
,72hours
,30days
,90days
,1year
,3years
,5years
.- Default is still
all
. - The old values of
day
,3days
andmonth
are automatically mapped to24hours
,72hours
, or30days
respectively. - The old value of
week
has been removed.
- Default is still
- Removed time range option
week
from the search endpoint's time range options.
- Fix note outbox listing, which has been renamed to
sent
on Furaffinity. But will remain as outbox here for backward compatibility.
- Fixed session leak issue in authenticated endpoints.
- Removed deprecated and broken login() method, and ability to configure via username and password
- Added prometheus metrics for current number of users online,
faexport_fa_users_online_total
- Fixing prometheus metrics for gallery/scraps/favs endpoints, which were previously recorded as endpoint=""
- Added prometheus metrics at /metrics (which can be optionally secured with basic auth using
PROMETHEUS_PASS
env variable)
- Fixing journal RSS feed title
- Fix to docker publish github flow
- Improving RSS feed titles
- Updating dependencies
- Handling notes from deleted users more gracefully, rather than letting them break the
/notes/{folder}
and/note/{id}
endpoints. - Adding
user_deleted
parameter to representations of notes in the/notes/{folder}
and/note/{id}
endpoints.
- Fixing cloudflare error message
- Added a 503 error and some more clarity when FA is under cloudflare protection
- System tests which deploy a docker image and run tests against it
- Changes to regression tests due to removal of "Age" from artist information
- Updating dependencies
- Adding
deleted
attribute to notifications
- Moved from Travis to github actions
- Fixed bug in thumbnail link for SFW images
- Switched from startup with
rackup
to usingthin
, as the former crashes after a few days
- Added access log and debug log. These are in the
logs/
directory by default, but directory can be overridden with theLOG_DIR
environment variable. The docker compose file has a volume mount and environment variable to get the logs out of the container and into the locallogs
directory.
- Improving css selector in journal creation, and fixing it
- Fixed decision on whether to use SSL
- Improved handling of empty search results
- Improvements to publish process
- Passing APP_ENV environment variable through docker compose
- Makefile, entrypoint script, and docker compose configs
- Added an error message when FA is set to the wrong style
- Added ability to specify a proxy URL for FA
- Added version number to docs
- Improved docs css
- Hide docs links until an id or username is entered
- Allow cookies to be entered in either order
- Clarifying error message when cookie is not set
- Updating error message parsing and handling
First release since forking repo from boothale's original. Switch to calver versioning scheme, as FA is an external service and therefore changes there are time dependent. The scheme being used is YYYY.0M.MICRO. Year, then zero-padded month, then micro number which will increment with changes through the month.
Added lots of fixes and new endpoints.
Added ability to pass login cookies, rather than username and password. Lots of other changes
Initial release by boothale