Repository navigation
Releases: KhoraLee/papyrus
Releases · KhoraLee/papyrus
Release list
0.6.25
Release Notes
Bug Fixes
- Encoder strategies now work with Field/Query parameters:
JSONEncoderstrategies (dateEncodingStrategy,
dataEncodingStrategy,nonConformingFloatEncodingStrategy) andURLEncodedFormEncoderstrategies are now correctly
applied when using individual Field or Query parameters.
@API
protocol MyAPI {
@POST("/events")
@JSON(encoder: .iso8601DateEncoder)
func createEvent(name: String, date: Date) async throws -> Event
}
// Before: date encoded as timeIntervalSinceReferenceDate (default)
// {"name":"Party","date":788918400.0}
// After: date encoded as ISO8601 string (respects encoder strategy)
// {"name":"Party","date":"1995-01-01T00:00:00Z"}Full Changelog: 0.6.24...0.6.25
0.6.24
Release Notes
New Features
- Automatic attribute preservation: Swift attributes like
@discardableResult,@available,@MainActor,@Sendable,
etc. are now automatically preserved on generated API endpoint implementations. No manual updates needed for new Swift
attributes.
@API
protocol MyAPI {
@available(iOS 15.0, *)
@discardableResult
@GET("/endpoint")
func fetchData() async throws -> String
}
// Generated implementation preserves all attributes:
// @available(iOS 15.0, *) @discardableResult func fetchData() async throws -> String { ... }Bug Fixes
- Multiple HTTP methods validation: Using multiple HTTP method attributes on a single endpoint (e.g. both
@GETand@POST)
now throws a compile-time error instead of silently using the last one.
Full Changelog: 0.6.23...0.6.24