0.1.0
Release Notes
This first release includes the following for the Kotlin, Rust & Swift platforms:
- Authentication using Application Passwords
- Application Passwords endpoint
- Users endpoint
- Plugins endpoint
It also includes all of the underlying infrastructure for this – including:
- wp_contextual – A proc macro that generates Edit, Embed & View contextual types from given Sparse type
- wp_derive_request_builder – A proc macro that generates endpoint, request builder and request executor types
What's Changed
- Initial design for Post Request scaffolding by @oguzkocer in #2
- Crate structure by @oguzkocer in #3
- Add Swift Package Manager by @jkmassel in #1
- Add ability to make simple requests and parse them for a functional prototype by @oguzkocer in #4
- Error handling prototype by @oguzkocer in #7
- Pivot to Rust being a helper library by @oguzkocer in #8
- Add Swift wrappers for helper approach by @jkmassel in #9
- Initial android lint options by @oguzkocer in #10
- Update UniFFI version to 0.26.1 by @oguzkocer in #34
- Add CI by @jkmassel in #35
- Only remove ignored files in
make clean
by @crazytonyli in #40 - Switch to UniFFI Procedural Macros by @oguzkocer in #36
- Add .gitignore file to the native/swift subproject by @crazytonyli in #39
- Configure uniffi to generate the right header and modulemap we want by @crazytonyli in #41
- Add Linux support to the Swift package by @crazytonyli in #42
- Add steps to test Swift pakcage on all supported Apple platforms by @crazytonyli in #43
- Add iOS / macOS login by @jkmassel in #44
- Add
cargo fmt
linting by @jkmassel in #47 - Rename
uniffi_bindgen
crate towp_uniffi_bindgen
and updateuniffi
to 0.27.0 by @oguzkocer in #51 - Add a step to build on real devices by @crazytonyli in #49
- Introduces #[WPContextual] derive macro by @oguzkocer in #53
- Update reqwest to 0.12.2, http to 1.1.0 by @oguzkocer in #52
- Install specific nightly toolchain for supporting watchOS by @crazytonyli in #54
- Build Docs in CI by @jkmassel in #55
- Set deployment targets to the static libraries built for Apple platforms by @crazytonyli in #56
- Users endpoint by @oguzkocer in #58
- Update test_credentials file format to use site_url, username & token by @oguzkocer in #60
- Don't include empty roles, slug & capabilities in UserListParams query_pairs by @oguzkocer in #65
- Make uniffi generate default nil values for optional properties by @crazytonyli in #64
- Endpoint module by @oguzkocer in #66
- Users integration tests & error handling by @oguzkocer in #69
- Filter users by @oguzkocer in #70
- Unit tests for
UserListParams
&UserDeleteParams
by @oguzkocer in #72 - Parametrize list users integration tests by @oguzkocer in #73
- Remove Android tooling that was used for prototyping by @oguzkocer in #76
- Update uniffi to 0.27.1 by @oguzkocer in #80
- Support test_credentials from Android integration tests and address minor issues with Android setup by @oguzkocer in #79
- Kotlin module by @oguzkocer in #81
- Rename Gradle modules by @oguzkocer in #82
- Add Detekt by @oguzkocer in #83
- Kotlin wrapper for
/users
by @oguzkocer in #84 - Replace
parse_users_response
withparse_wp_response
by @oguzkocer in #85 - Adds
add_uniffi_exported_parser
macro by @oguzkocer in #87 - Replace
user_list_params!
with a more genericmodified!
macro by @oguzkocer in #86 - Extract test helpers by @oguzkocer in #88
- Add configurations to include full debug info in static libraries by @crazytonyli in #59
- Replace foo.com with example.com by @oguzkocer in #89
- Plugins endpoint by @oguzkocer in #90
- Remove the need for the wpcli container by @jkmassel in #97
- Adds
PluginSlug
&PluginWpOrgDirectorySlug
by @oguzkocer in #91 - Plugin errors by @oguzkocer in #92
- Filter plugins by @oguzkocer in #94
SparseField
trait andappend_filter_fields
helper inUrlExtension
by @oguzkocer in #98- Rename
wp_derive
crate towp_contextual
by @oguzkocer in #99 - Merge
wp_networking
crate intowp_api
by @oguzkocer in #100 - Stop re-exporting Rust modules by @oguzkocer in #101
- Swift API for caling HTTP APIs with context by @crazytonyli in #67
- Change Swift Package modules names by @crazytonyli in #77
- Fix flaky network tests by @jkmassel in #102
- Implementing filter users in the Swift Package by @crazytonyli in #78
- Implement release process in fastlane by @crazytonyli in #68
- Add
PluginStatus::NetworkActive
variant by @oguzkocer in #105 - Don't export endpoint module, remove
url
module by @oguzkocer in #107 - Request module by @oguzkocer in #108
- All public types implement
Debug
trait by @oguzkocer in #109 - Clippy in tests by @oguzkocer in #110
- Derive
Default
for enums by @oguzkocer in #111 - WPContextualOption by @oguzkocer in #103
- Move
parse
function toWPNetworkResponse
by @oguzkocer in #112 WpEndpointUrl
&ApiEndpointUrl
by @oguzkocer in #113- Introduces
RequestBuilder
by @oguzkocer in #114 WpRequestBuilder
by @oguzkocer in #118- Improves
WPNetworkResponse.get_link_header
by @oguzkocer in #119 - Support the plugins endpoint in the Swift package by @crazytonyli in #117
- Speed up building xcframework for local development by @crazytonyli in #61
- Add a CI step to validate CocoaPods support by @crazytonyli in #116
- Add Link Header Tests by @jkmassel in #120
- Handle site url error for request builder by @oguzkocer in #122
- Fix tests by @jkmassel in #125
- Enable SwiftLint strict mode by @crazytonyli in #124
- Rename upper case abbreviations to camel case by @oguzkocer in #126
- Has published posts conditional for
/users
by @oguzkocer in #127 - Adds missing 'author_uri' & 'requires_wp' fields to plugin types by @oguzkocer in #128
- Add uniffi default values for
/users
params types by @oguzkocer in #131 - Integration test improvements for users and plugins by @oguzkocer in #130
- Use http::HeaderMap to store response headers by @crazytonyli in #132
- Revert "Use http::HeaderMap to store response headers" by @oguzkocer in #135
- Request executor by @oguzkocer in #136
- Kotlin version catalog and Kotlin DSL by @oguzkocer in #138
- [Swift] Fix the Example app by @crazytonyli in #137
- Kotlin multiplatform example app by @oguzkocer in #139
- Move
RequestBuilder
to request module by @oguzkocer in #140 - Replace
&Option<T>
with&T
forUserListParams
&PluginListParams
by @oguzkocer in #142 - [Swift] Enable strict concurrency by @crazytonyli in #143
- Enable SwiftLint plugin for local development by @crazytonyli in #129
- Replace
ApiBaseUrl::new(&str)
with aTryFrom<&str>
implementation by @crazytonyli in #145 - Parser for
#[derive(WpDerivedRequest)]
by @oguzkocer in #148 - Fix an issue where swift and jq commands run on all targets by @crazytonyli in #147
- Generate endpoint type for
#[derive(WpDerivedRequest)]
by @oguzkocer in #149 - Generate request builder type for
#[derive(WpDerivedRequest)]
by @oguzkocer in #151 - Generate async request executor type for
#[derive(WpDerivedRequest)]
by @oguzkocer in #153 - Generate Rust integration test credentials from build script by @oguzkocer in #150
- Fix a retroactive conformance warning in Xcode 16 beta by @crazytonyli in #141
- List
/users/<user_id>/application-passwords
by @oguzkocer in #155 - Switch
/users
to the derived endpoint & request builder implementation by @oguzkocer in #156 - Switch
/plugins
to the derived endpoint & request builder implementation by @oguzkocer in #157 - Wrapping up the immediate changes for
#[derive(WpDerivedRequest)]
by @oguzkocer in #158 - Split unit test code into separate filees by @crazytonyli in #144
- Fix CocoaPods validation by @jkmassel in #159
- Authorization Url Discovery by @oguzkocer in #160
- Change
WpNetworkRequest
to be derived fromuniffi::Object
by @oguzkocer in #161 - Application passwords:
Create
,Delete
,Retrieve
&Update
by @oguzkocer in #162 - Extract login details improvements by @oguzkocer in #163
- Rename
WpRequestBuilder
toWpApiClient
& introduceUniffiWpApiClient
by @oguzkocer in #164 - Include request method & body in Kotlin request execution by @oguzkocer in #166
- Add an initial changelog by @jkmassel in #167
Namespace
outer attribute support for#[derive(WpDerivedRequest)]
by @oguzkocer in #168- Add a pipeline step to release on CI by @crazytonyli in #106
New Contributors
- @oguzkocer made their first contribution in #2
- @jkmassel made their first contribution in #1
Full Changelog: https://github.com/Automattic/wordpress-rs/commits/0.1.0