Releases: gofr-dev/gofr
v1.1.0
Release v1.0.0
✨ Features
- Add Support for Basic, Api-Key and OAuth authentication mechanisms.
- Add support for MQTT publish-subscribe model.
Full Changelog: v1.0.2...v1.1.0
v1.0.3
v1.0.2
Release v1.0.2
🐞 Fixes
- Fix duration for SQL query log and metrics.
- Update metrics value format and histogram buckets of time duration from
seconds
tomicroseconds
for following datasources:- Redis:
- Previous:
{.001, .003, .005, .01, .02, .03, .05, .1, .2, .3, .5, .75, 1, 2, 3, 5, 10, 30}
- Now:
{50, 75, 100, 125, 150, 200, 300, 500, 750, 1000, 1250, 1500, 2000, 2500, 3000}
- Previous:
- SQL:
- Previous:
{.001, .003, .005, .01, .02, .03, .05, .1, .2, .3, .5, .75, 1, 2, 3, 5, 10, 30}
- Now:
{50, 75, 100, 125, 150, 200, 300, 500, 750, 1000, 2000, 3000, 4000, 5000, 7500, 10000}
- Previous:
- Redis:
- Add missing metrics for PubSub :
- app_pubsub_publish_total_count: Number of total publish operations.
- app_pubsub_publish_success_count: Number of successful publish operations.
- app_pubsub_subscribe_total_count: Number of total subscribe operations.
- app_pubsub_subscribe_success_count: Number of successful subscribe operations.
v1.0.1
Release v1.0.1
🐞 Fixes
- Fixed content-type header for HTTP responses
- Removed non-necessary logs from CMD application start
v1.0.0
Release v1.0.0
✨ Features
- Publisher-Subscriber support for Apache Kafka and Google PubSub.
- Postgres support for the SQL database has been added,
DB_DIALECT
is the environment variable used to define which driver is used by GoFr application. - Added
REMOTE_LOG_FETCH_INTERVAL
to let the user configure log fetch interval from the remote logging service (default value is 15 seconds). - Add
ExecContext
method for SQL datasources.
🐞 Fixes
- Renamed the
DB
object toSQL
in container and migration datasources. - Fix response message of aliveness handler to the following :
{ "data": { "status": "UP" } }
- Fix JSON keys for redis migration entry to follow camelcase.
v0.3.0
Release v0.3.0
✨ Features
-
Migrations Support for MySQL and REDIS.
-
Metrics - The following metrics are now being pushed by default.
System Info
- app_go_routines : Number of Go routines running.
- app_sys_memory_alloc : Number of bytes allocated for heap objects.
- app_sys_total_alloc : Number of cumulative bytes allocated for heap objects.
- app_go_numGC : Number of completed Garbage Collector cycles.
- app_go_sys : Number of total bytes of memory.HTTP
- app_http_response : Response time of HTTP requests in seconds.
- app_http_service_response : Response time of HTTP service requests in seconds.Redis
- app_redis_stats : Observes the response time for Redis commands.SQL
- app_sql_stats : Histogram metric response time of HTTP requests in seconds.
- app_sql_open_connections : Number of open SQL connections.
- app_sql_inUse_connections : Number of inUse SQL connections.
🐞 Fixes
- Add PUT Method in circuit breaker.
- Add check to handle panic when the command line application's last argument is
-
.
v0.2.0
Release v0.2.0
✨ Features
-
HTTP Client for performing HTTP calls with the following options -
(These options are order-agnostic and will override specific functionalities over basic HTTP calls)- Circuit Breaker for automatically cutting off service calls if the downstream service constantly throws 5xx.
- Health Configs for allowing custom health-check endpoints to be configured to perform health checks.
-
Introduced
/.well-known/alive
default endpoint to check if the application is serving incoming requests. -
Introduced formatted logging for SQL queries, Redis queries, and HTTP service calls, where data is formatted to look readable and properly formatted to make it easy for users to debug and find important logs.
-
Remote Log Level Change - users can provide a service URL that provides data to change the log level for the application without stopping and re-running the application.
-
Metrics - creating metrics and updating their values by open telemetry standards with support for the following metrics using Prometheus as an exporter and exposing these on a customizable port and
/metrics
endpoint :- Counter: A metric whose values are strictly increasing.
- UpDownCounter: A metric that increases or decreases from the current value by a certain value.
- Histogram: A metric that samples observations (like request durations or response sizes) and counts them in configurable buckets. It also provides a sum of all observed values.
- Gauge: A metric representing a single numerical value that can arbitrarily go up and down, this change is not dependent on the previous value of the metric.
🐞 Fixes
- Tracing has been fixed where the traces were not in order and appeared to be in a non-hierarchal manner
- Refactored the implementation and response for
/.well-known/health
v0.1.0
What's Changed
🔧 Features
- Add querry logger for redis by @Umang01-hash in #209
- Add HTTP Call methods in
new.go
for interservice calls with Logs by @aryanmehrotra in #210 - Add Redis Healthcheck & Refactor Health check by @aryanmehrotra in #216
🔧 Enhancements
- Add CMD unit tests by @aryanmehrotra in #205
- Add tests for Logger , Service pkg by @Umang01-hash in #195
- Increase coverage for examples, cmd, config, grpc, http by @srijan-27 in #201
- Add Tests for Container, Context, CMD and Database by @aryanmehrotra in #189
- Update branch with main in workflow by @srijan-27 in #181
- Add tests for db, gofr, grpc, handler and httpServer by @vipul-rawat in #197
- Add security, licence, code of conduct and contribution guidelines by @aryanmehrotra in #188
- Refactor tests for logger package by @Umang01-hash in #204
- Removing deprecated linter from config by @vikash
- Using 256 bit color for terminal log display by @vikash
- Pretty printing SQL Logs by @vikash
- Restructuring SQL to add health-check structure by @vikash
- Add Quick Start Docs by @Umang01-hash in #220
📦 Dependency updates
- Upgrading redis library by @vikash in #196
- Bump github.com/DATA-DOG/go-sqlmock from 1.5.1 to 1.5.2 by @dependabot in #215
- Upgrade dependencies by @vipul-rawat in #185
- Bump golang.org/x/term from 0.0.0-20201126162022-7de9c90e9dd1 to 0.15.0 by @dependabot in #178
New Contributors
- @srijan-27 made their first contribution in #181
Full Changelog: v0.0.1...v0.1.0
v0.0.1
v0.0.1
Dear GoFr Community,
We're thrilled to announce that GoFr is now an open-source project, marking a new chapter in its evolution. We extend our heartfelt gratitude to all past and present contributors who've been instrumental in GoFr's development.
As part of our security measures, we've removed the complete project history, ensuring its integrity moving forward.
By making GoFr open source, we aim to foster a collaborative environment for developers of all backgrounds to innovate and enhance the project.
We invite you to explore the newly open-sourced GoFr, fork it, and contribute to its development. Your expertise is invaluable, and we look forward to new ideas and collaborative efforts.
Feel free to reach out with questions, feedback, or suggestions. Thank you for your contributions and support.
Let's shape GoFr's next chapter together!
Release Notes
Features
- REST, gRPC server and CMD creation
- Support for SQL and NoSQL Data Stores with Auto-Initialization
- SQL: MySQL
- Cache : Redis
- Predefined logs with log levels for STDOUT and JSON