Skip to content

Release v1.25.0

Compare
Choose a tag to compare
@vipul-rawat vipul-rawat released this 04 Nov 11:01
· 347 commits to main since this release
ca59aa0

Release v1.25.0

✨ Features

BadgerDB Tracing

  • Added context support and tracing for BadgerDB datasource operations, enhancing observability and tracking within the BadgerDB storage layer.(Released pkg/gofr/datasource/kv-store/badger - v0.2.0)

Redis Authentication Support

  • Users can now connect to Redis instances requiring a username, password, or both. Configure these credentials in the .env file located in the configs folder:

    • REDIS_USER: User credential for connecting to the Redis server. Multiple users with different permissions can be configured within a single Redis instance. For more details, refer to the official Redis documentation.

    • REDIS_PASSWORD: Password credential required only if authentication is enabled on the Redis instance.

Enhanced Authentication Retrieval in Context

  • The GetAuthInfo method on the context provides easy access to various authentication methods, allowing developers to retrieve:

    • JWT Claims: Use GetAuthInfo().GetClaims() when OAuth is enabled, returning a jwt.MapClaims response.

    • Username: Use GetAuthInfo().GetUsername() for basic authentication, returning the username or an empty string if basic auth is not enabled.

    • API Key: Use GetAuthInfo().GetAPIKey() for API key-based authentication, returning the API key or an empty string if API key auth is not enabled.


🛠️ Fixes

Static File Route Issue

  • Resolved a bug in the AddStaticFiles method where static files could not be accessed via specified routes. Now, running the following code:

    func main() {
        app := gofr.New()
        app.AddStaticFiles("/", "./static")
        app.Run()
    }

    Files within the ./static directory can be accessed properly, e.g., http://localhost:9000/abc.jpeg, without encountering a "route not registered" error.

Controlled Access to OpenAPI Files

  • Prevented direct access to the openapi.json file via static routes. The file is now restricted to access through explicitly defined routes such as /.well-known/swagger or /.well-known/openapi.json for secure and controlled API documentation access.