v1.17.0
Release v1.17.0
✨ Features
-
Added support for FTP as an external datasource
FTP can be added using the method on gofrAppAddFTP(fs file.FileSystemProvider)
Supported functionalities are:
Create(name string) (File, error)
Mkdir(name string, perm os.FileMode) error
MkdirAll(path string, perm os.FileMode) error
Open(name string) (File, error)
OpenFile(name string, flag int, perm os.FileMode) (File, error)
Remove(name string) error
RemoveAll(path string) error
Rename(oldName, newName string) error
-
Cassandra now supports Batching
Added Batch functionality with newly introduced methods:
NewBatch(batchType int) error
BatchQuery(stmt string, values ...interface{})
ExecuteBatch() error
-
Automated injection of
gofr.Context
in the gRPC server during registering of the gRPC service
gRPC can now inject gofrcontainer
to theServer
struct, to access logger, datasources, and other functionalities provided by gofr.
Refer to example for detailed info.
🛠 Enhancements
- Messages can now be written to WebSocket without returning
Added method on gofrContextWriteMessageToSocket(data any) error
to write a message.
🐞 Fixes
-
Resolved panic for EnableBasicAuth
If an odd no. of arguments (user, password) were passed to theEnableBasicAuth
method, the app panicked. Fixed this issue, user and password can be passed in the method as comma-separated pairs like:
EnableBasicAuth(user1, pass1, user2, pass2)
-
Resolved authentication for EnableBasicAuth
Even if the credentials were correct, the app was returning the401
status Unauthorised instead of the expected200
. -
Fixed unstructured log in Mongo
Debug query logs were not properly formatted for Mongo, fixed the formatting.
Themessage
field in logs wasstring
type, updated it toobject