- Update dependencies
- Small improvements and test fixes
- Updated structs to Labrinth
v2.5.0
- Reordered struct fields to match documentation, and removed redundant doc-comments
- Updated
api_calls::check_id_slug
to use the regex provided in the documentation - Renamed
structures::user::Notification
'stype_field
tonotification_type
- Update dependencies
- Add support for authorised requests
- Remove
_calls
and_structs
from filenames - Change
resolve_id_slug()
todoes_exist()
- Add
follow()
,add_user()
,list_multiple_teams_members()
,join_team()
,transfer_ownership()
,get_current_user()
,get_notification()
,followed_projects()
, andsubmit_report()
- Add
ProjectType::Plugin
,FileExt
,Notification
,Report
,ReportSubmission
,NotificationAction
,ReportItemType
,NotificationType
- Update dependencies
- Add a new API call
- Add resource packs to the project types enum
- Make
ProjectType
,UserRole
, andDependencyType
non-exhaustive
- Fixed a bug where if an empty string was provided for an
Option<URL>
field, the deserialiser would try to parse the url and error out rather than returnNone
- Renamed the
Datetime
alias toUtcTime
- Manually implement
Default
forFerinth
so that the user agent is set tocrate_name/version
- Add
Ferinth::new
with a user agent based on the documentation - Added
DependencyType::Embedded
to fix gorilla-devs/ferium#169
- #7 File hashes are no longer behind an
Option
- Remove the
Option
from theProject.donation_urls
vector - Replace
String
withurl::Url
where appropriate
- Changed the way URLs are constructed and requests are made
- Specified dependencies properly
- Replaced
Furse::new()
withDefault
- Added all the new API calls (that do not need authentication)
- Slugs with underscores are now considered valid
Add support for rate limits using a new error
Update all structs to the latest https://docs.modrinth.com/api-spec specifications (Labrinth v2.2.4
)
- Update description
- Fix
Ferinth
doctest
- Removed example project and the one in the description
- Added
get_project_dependencies()
- Moved
ProjectType
to project_structs.rs - Added new tag calls and their respective structs
- Made tag call struct fields public
- Improved documentation
- Removed user agent
- All enums now consistently have
PartialEq
andEq
implemented - All structs now have proper doc comments
Update to the Modrinth API v2. The most breaking changes are the following:
get_mod()
is nowget_project()
- Most of the structure definition have had fields added/changed
A lot of the changed are under the hood
Check out PR #4 to see all the changes made
- Implement
Clone
andDebug
forFerinth
- Edit doctest for
user_calls::list_mods()
so that the order of the mod_ids returned doesn't matter - The following were implemented as per a suggestion by 4JX here
- Removed
regex
and usedlazy-regex
which is faster as the regexes are parsed at compile time - Update base62 and SHA1 checkers to use
lazy_regex::regex_is_match
for much faster and more readable code
- New error
NotSHA1
to show that an argument provided an invalid SHA1 hash - Added a new function to verify that a string is SHA1 compliant
- Added new api call,
get_version_from_file_hash()
which gets the version of a version file from the version file's hash (PR #1 by @4JX)
- Added doctests for every method and struct, which means more documentation and tests!
- Update readme and docs front page
- Added more extensive error handling
- Made many return statements more concise
- Methods accepting IDs now verify that they are base62 compliant using a RegEx
- Added
Clone
to all structs and enums - Added
PartialEq
to all enums
- This crate now makes
reqwest
userustls
because OpenSSL = bad - Made API calls' return syntaz more concise
- Made date/time fields use Chrono's
DateTime<Utc>
- Made documentation better and more consistent
- Added an example project
- Prepared the project for crates.io release
- Renamed the library to Ferinth (
ferinth
) - All names
ModrinthAPI
have been renamed to `Ferinth - Error checking removed because only
reqwest::Error
s are encountered - All
api_call
s now accept&str
only - Only
structures
is exported - Added
list_team_members()
API call - Added
TeamMember
andTeamRole
- Made version file hashes a new struct
First commit