diff --git a/README.md b/README.md
index 82dfcb5ff36d..3a263b36d218 100644
--- a/README.md
+++ b/README.md
@@ -1,10 +1,10 @@
# userver [](https://userver.tech/)
-| Service Templates | Status |
-|------------------------|-----|
-| [Core](https://github.com/userver-framework/service_template) | [![CI](https://github.com/userver-framework/service_template/actions/workflows/ci.yml/badge.svg)](https://github.com/userver-framework/service_template/actions/workflows/ci.yml) [![Docker build](https://github.com/userver-framework/service_template/actions/workflows/docker.yaml/badge.svg)](https://github.com/userver-framework/service_template/actions/workflows/docker.yaml) |
-| [PostgreSQL](https://github.com/userver-framework/pg_service_template) | [![CI](https://github.com/userver-framework/pg_service_template/actions/workflows/ci.yml/badge.svg)](https://github.com/userver-framework/pg_service_template/actions/workflows/ci.yml) [![Docker build](https://github.com/userver-framework/pg_service_template/actions/workflows/docker.yaml/badge.svg)](https://github.com/userver-framework/pg_service_template/actions/workflows/docker.yaml) |
-| [gRPC+PostgreSQL](https://github.com/userver-framework/pg_grpc_service_template) | [![CI](https://github.com/userver-framework/pg_grpc_service_template/actions/workflows/ci.yml/badge.svg)](https://github.com/userver-framework/pg_grpc_service_template/actions/workflows/ci.yml) [![Docker build](https://github.com/userver-framework/pg_grpc_service_template/actions/workflows/docker.yaml/badge.svg)](https://github.com/userver-framework/pg_grpc_service_template/actions/workflows/docker.yaml) |
+| Service Templates | Develop / Green Trunk | v1.0 |
+|------------------------|-----|-----|
+| Core: | [![CI](https://github.com/userver-framework/service_template/actions/workflows/ci.yml/badge.svg) ![Docker build](https://github.com/userver-framework/service_template/actions/workflows/docker.yaml/badge.svg)](https://github.com/userver-framework/service_template/) | [[➚]](https://github.com/userver-framework/service_template/tree/v1.0.x) |
+| PostgreSQL: | [![CI](https://github.com/userver-framework/pg_service_template/actions/workflows/ci.yml/badge.svg) ![Docker build](https://github.com/userver-framework/pg_service_template/actions/workflows/docker.yaml/badge.svg)](https://github.com/userver-framework/pg_service_template/) | [[➚]](https://github.com/userver-framework/pg_service_template/tree/v1.0.x) |
+| gRPC+PostgreSQL: | [![CI](https://github.com/userver-framework/pg_grpc_service_template/actions/workflows/ci.yml/badge.svg) ![Docker build](https://github.com/userver-framework/pg_grpc_service_template/actions/workflows/docker.yaml/badge.svg)](https://github.com/userver-framework/pg_grpc_service_template) | [[➚]](https://github.com/userver-framework/pg_grpc_service_template/tree/v1.0.x) |
**userver** is an open source asynchronous framework with a rich set of abstractions
for fast and comfortable creation of C++ microservices, services and utilities.
@@ -37,8 +37,8 @@ or [Habr](https://habr.com/post/674902) (Russian).
* Efficient asynchronous drivers for databases (MongoDB, PostgreSQL, Redis,
ClickHouse, MySQL/MariaDB (experimental) ...) and data transfer protocols
- (HTTP, GRPC, AMQP 0-9-1 (experimental), TCP, TLS ...), tasks construction and
- cancellation.
+ (HTTP, gRPC, AMQP 0-9-1 (experimental), TCP, TLS, WebSocket ...), tasks
+ construction and cancellation.
* Rich set of high-level components for caches, tasks, distributed locking,
logging, tracing, statistics, metrics, JSON/YAML/BSON.
* Functionality to change the service configuration on-the-fly.
diff --git a/mysql/include/userver/storages/mysql.hpp b/mysql/include/userver/storages/mysql.hpp
index 0a6e38026bb4..1e9513c2383a 100644
--- a/mysql/include/userver/storages/mysql.hpp
+++ b/mysql/include/userver/storages/mysql.hpp
@@ -12,11 +12,11 @@
// clang-format off
/// @page mysql_driver MySQL Driver - EXPERIMENTAL
///
-/// **Disclaimer**: current state of the driver is highly experimental, and
+/// **Disclaimer**: current state of the driver is experimental, and
/// although APIs are not likely to change drastically, some adjustments may be
/// made in the future.
-/// Please also keep in mind that this driver is a community-based effort and is
-/// not backed by Yandex expertise nor by Yandex-scale production usage.
+/// Please also keep in mind that this driver is
+/// not backed by Yandex-scale production usage.
///
/// 🐙 **userver** provides access to MySQL databases servers via
/// components::MySQL. The uMySQL driver is asynchronous, and with it one can
diff --git a/postgresql/include/userver/storages/postgres/postgres.hpp b/postgresql/include/userver/storages/postgres/postgres.hpp
index 0e3e59ffb59a..311db9e12844 100644
--- a/postgresql/include/userver/storages/postgres/postgres.hpp
+++ b/postgresql/include/userver/storages/postgres/postgres.hpp
@@ -26,15 +26,15 @@
/// separately from the query;
/// - Automatic PgaaS topology discovery;
/// - Selecting query target (master/slave);
-/// - Connection failover
+/// - Connection failover;
/// - Transaction support;
/// - Variadic template query parameter passing;
/// - Query result extraction to C++ types;
/// - Binary protocol usage for communication;
/// - Portals for effective background cache updates;
/// - Queries pipelining;
-/// - Mapping PostgreSQL user types to C++ types.
-/// - @ref scripts/docs/en/userver/deadline_propagation.md
+/// - Mapping PostgreSQL user types to C++ types;
+/// - @ref scripts/docs/en/userver/deadline_propagation.md .
///
/// @section toc More information
/// - For configuration see components::Postgres
diff --git a/rabbitmq/include/userver/rabbitmq.hpp b/rabbitmq/include/userver/rabbitmq.hpp
index 91f4d5e21631..1ebe9e93070a 100644
--- a/rabbitmq/include/userver/rabbitmq.hpp
+++ b/rabbitmq/include/userver/rabbitmq.hpp
@@ -17,11 +17,11 @@
/// @page rabbitmq_driver RabbitMQ (AMQP 0-9-1) - EXPERIMENTAL
///
-/// Disclaimer: current state of the driver is highly experimental, and
+/// Disclaimer: current state of the driver is experimental, and
/// although APIs are not likely to change drastically, some adjustments may be
/// made in the future.
-/// Please also keep in mind that this driver is a community-based effort and is
-/// not backed by Yandex expertise nor by Yandex-scale production usage.
+/// Please also keep in mind that this driver is
+/// not backed by Yandex-scale production usage.
///
/// 🐙 **userver** provides access to RabbitMQ servers via
/// components::RabbitMQ. The uRabbitMQ driver is asynchronous, it suspends
diff --git a/scripts/docs/en/landing.md b/scripts/docs/en/landing.md
index 610b921f4078..3916e549d909 100644
--- a/scripts/docs/en/landing.md
+++ b/scripts/docs/en/landing.md
@@ -68,7 +68,7 @@ developers:
Efficient asynchronous drivers for databases (MongoDB, PostgreSQL, MySQL/MariaDB (experimental), Redis, ClickHouse,
- ...) and data transfer protocols (HTTP, GRPC, TCP, AMQP-0.9.1 (experimental), ...), tasks
+ ...) and data transfer protocols (HTTP, WEbSockets, gRPC, TCP, AMQP-0.9.1 (experimental), ...), tasks
construction and cancellation.
diff --git a/scripts/docs/en/userver/framework_comparison.md b/scripts/docs/en/userver/framework_comparison.md
index 9035ef15d4cb..53356f4dcdef 100644
--- a/scripts/docs/en/userver/framework_comparison.md
+++ b/scripts/docs/en/userver/framework_comparison.md
@@ -44,7 +44,8 @@ use ❌ and ❓ respectively.
| Async TCP/UDP | ✔️ @ref engine::io::Socket "[↗]" | ✔️ | ❓ | ✔️ [[↗]][tokio-net] | ❌ |
| Async TLS Socket | ✔️ @ref engine::io::TlsWrapper "[↗]" | ✔️ | ❓ | ± third-party libs | ❌ |
| Async HTTPS client | ✔️ @ref clients::http::Client "[↗]" | ✔️ | ❓ | ✔️ | ❓ |
-| Async HTTPS server | ❌ | ❓ | ❓ | ✔️ | ❓ |
+| Async HTTPS server | ✔️ @ref components::Server "[↗]" | ❓ | ❓ | ✔️ | ❓ |
+| WebSockets Server | ✔️ @ref components::Server "[↗]" | ± third-party libs | ❌ [[↗]][dapr-websock] | ± third-party libs | ✔️ [[↗]][drogon] |
| Deadlines and Cancellations | ✔️ | ❓ | ❓ | ❓ | ± [[↗]][drog-timeout] |
| Retries and Load Balancing | ✔️ | ✔️ [[↗]][gom-features] | ✔️ | ❓ |❓ |
@@ -59,8 +60,10 @@ use ❌ and ❓ respectively.
[dapr-postgre]: https://docs.dapr.io/reference/components-reference/supported-state-stores/setup-postgresql/
[dapr-mysql]: https://docs.dapr.io/reference/components-reference/supported-state-stores/setup-mysql/
[dapr-distlock]: https://github.com/dapr/dapr/issues/3549
+[dapr-websock]: https://github.com/dapr/dapr/issues/5766
[actix-test]: https://actix.rs/docs/testing/
[acti-db]: https://actix.rs/docs/databases/
+[drogon]: https://github.com/drogonframework/drogon
[drog-testig]: https://drogon.docsforge.com/master/testing-framework/
[drog-http-client]: https://drogon.docsforge.com/master/api/drogon/HttpClient/
[drog-db]: https://drogon.docsforge.com/master/database-general/
diff --git a/scripts/docs/en/userver/grpc.md b/scripts/docs/en/userver/grpc.md
index 11e6d70ae15b..a4284dcfe00c 100644
--- a/scripts/docs/en/userver/grpc.md
+++ b/scripts/docs/en/userver/grpc.md
@@ -14,14 +14,14 @@ See also:
## Capabilities
-* Creating asynchronous gRPC clients and services
-* Forwarding gRPC Core logs to userver logs
-* Caching and reusing connections (**TODO**)
-* Timeouts and retries of requests (**TODO**)
-* Collection of metrics on driver usage
-* Cancellation support
-* Automatic authentication using middlewares
-* @ref scripts/docs/en/userver/deadline_propagation.md
+* Creating asynchronous gRPC clients and services;
+* Forwarding gRPC Core logs to userver logs;
+* Caching and reusing connections;
+* Timeouts;
+* Collection of metrics on driver usage;
+* Cancellation support;
+* Automatic authentication using middlewares;
+* @ref scripts/docs/en/userver/deadline_propagation.md .
## Installation
diff --git a/scripts/docs/en/userver/http_server.md b/scripts/docs/en/userver/http_server.md
index 53abcf702053..ec46352b3e2a 100644
--- a/scripts/docs/en/userver/http_server.md
+++ b/scripts/docs/en/userver/http_server.md
@@ -6,18 +6,19 @@
## Capabilities
-* HTTP 1.1/1.0 support
-* HTTPS
-* WebSocket
-* Body decompression with "Content-Encoding: gzip"
-* HTTP pipelining
-* Custom authorization @ref scripts/docs/en/userver/tutorial/auth_postgres.md
-* Deadline propagation
-* Congestion control
-* Rate limiting
-* Requests-in-flight limiting
-* Body size / headers count / URL length / etc. limits
-* @ref scripts/docs/en/userver/deadline_propagation.md
+* HTTP 1.1/1.0 support;
+* HTTPS;
+* WebSocket;
+* Body decompression with "Content-Encoding: gzip";
+* HTTP pipelining;
+* Custom authorization @ref scripts/docs/en/userver/tutorial/auth_postgres.md ;
+* Congestion control;
+* Rate limiting;
+* Requests-in-flight limiting;
+* Requests-in-flight inspection via server::handlers::InspectRequests ;
+* Body size / headers count / URL length / etc. limits;
+* Streaming;
+* @ref scripts/docs/en/userver/deadline_propagation.md .
## Streaming API
diff --git a/scripts/docs/en/userver/mongodb.md b/scripts/docs/en/userver/mongodb.md
index 04538dfeb3da..635e2a3b9600 100644
--- a/scripts/docs/en/userver/mongodb.md
+++ b/scripts/docs/en/userver/mongodb.md
@@ -4,13 +4,15 @@ The mongo asynchronous driver provides an interface to work with MongoDB
databases and the BSON format.
## Main features
+
* Building and reading BSON documents with support for most of the C++ types;
* Support for basic operations with collections via storages::mongo::Collection;
* Support for bulk operations;
* Dynamic management of database sets;
* Aggregation support;
+* Timeouts;
* Congestion control;
-* @ref scripts/docs/en/userver/deadline_propagation.md
+* @ref scripts/docs/en/userver/deadline_propagation.md .
## Metrics
diff --git a/scripts/docs/en/userver/redis.md b/scripts/docs/en/userver/redis.md
index 0dedb0a72f11..4ae479d025d5 100644
--- a/scripts/docs/en/userver/redis.md
+++ b/scripts/docs/en/userver/redis.md
@@ -9,11 +9,11 @@ versa.
## Main features
-* Convenient methods for Redis commands returning proper C++ types;
-* Support for bulk operations (MGET, MSET, etc); driver splits data into smaller
- chunks if necessary to increase server responsiveness;
-* Support for different strategies of choosing the most suitable Redis instance;
-* Request timeouts management with transparent retries;
+* Convenient methods for Redis commands returning proper C++ types
+* Support for bulk operations (MGET, MSET, etc). Driver splits data into smaller
+ chunks if necessary to increase server responsiveness
+* Support for different strategies of choosing the most suitable Redis instance
+* Request timeouts management with transparent retries
* @ref scripts/docs/en/userver/deadline_propagation.md
* Cluster autotopology
diff --git a/scripts/docs/en/userver/roadmap_and_changelog.md b/scripts/docs/en/userver/roadmap_and_changelog.md
index eb806b6e502f..dc0d984f43b4 100644
--- a/scripts/docs/en/userver/roadmap_and_changelog.md
+++ b/scripts/docs/en/userver/roadmap_and_changelog.md
@@ -16,41 +16,6 @@ Changelog news also go to the
## Roadmap
-
-### Plans for the first release (in a two months!)
-
-* ✓ Add component to serve static pages
-* ✓ Migrate userver-only related CI checks to the GithubCI
-* ✓ Improve documentation
- * ✓ Improve @ref scripts/docs/en/userver/framework_comparison.md
- * ✓ Add TCP acceptor sample
- * ✓ Add gRPC testsuite mock sample
- * ✓ Add reference sections for the Python fixtures
- * ✓ Add HTTP authentication sample
-* ✓ Improve experience with metrics
- * ✓ Add Prometheus metrics format
- * ✓ Add Graphite metrics format
- * ✓ Provide a modern simple interface to write metrics
-* ✓ Add chaos tests for drivers
- * ✓ TCP chaos proxy implemented
- * ✓ UDP chaos proxy implemented
- * ✓ Mongo
- * ✓ HTTP Client
- * ✓ DNS resolver
- * ✓ Redis
- * ✓ PostgreSQL
- * ✓ Clickhouse
- * ✓ gRPC
-* Enable PostgreSQL pipelining
-* ✓ Implement and enable Deadline Propagation
- * ✓ HTTP Client
- * ✓ HTTP Server
- * ✓ Mongo
- * ✓ PostgreSQL
- * ✓ Redis
- * ✓ gRPC
-* ✓ Implement streaming API for the HTTP
-
### Plans for the next release
* Add web interface to the [uservice-dynconf](https://github.com/userver-framework/uservice-dynconf)
@@ -61,6 +26,84 @@ Changelog news also go to the
## Changelog
+### Release v1.0.0
+
+Big new features since the Beta announcement:
+
+* Implemented WebSockets server
+* Added MySQL driver
+* RabbitMQ drived was added
+* Implemented TLS server
+* Enabled PostgreSQL pipelining
+* Implemented and enabled Deadline Propagation
+* Improved experience with metrics. Added Prometheus and Graphite metric
+ formats. Provided a modern simple interface to write and test metrics.
+* Added chaos tests for drivers
+* Implemented streaming API for the HTTP
+* Improved documentation, added more samples and descriptions, improved search.
+* Numerous optimizations.
+* Numerous build improvements, including Conan and Docker support.
+
+Optimized and improved features that were available at the Beta announcement:
+
+* gRPC client and server
+* Mongo driver
+* Redis driver
+* PostgreSQL
+* HTTP server and client
+* Logging and Tracing
+* ... and many other features.
+
+Detailed descriptions could be found below.
+
+
+### Beta (September 2023)
+
+* WebSockets server and TLS server are now implemented as part of the
+ @ref scripts/docs/en/userver/http_server.md "HTTP server"
+
+* PostgreSQL pipelining is now implemented and turned on by default, leading to
+ improved response times.
+
+* @ref scripts/docs/en/userver/mongodb.md "Mongo Congestion Control"
+ is implemented and turned on by default, leading to better stability of the
+ service in case of high load on database.
+
+* Initial logger is now initialized from the component config, leading to
+ a more simple code and setup. The `--initial-logger` option now does nothing
+ and will be removed soon.
+
+* Added a @ref scripts/docs/en/userver/functional_testing.md "`userver_testsuite_add_simple()`"
+ CMake function to simplify testsuite CMake configuration.
+
+* Expanded list of HTTP codes, thanks to [Vladimir Popov](https://github.com/Liteskarr)
+ for the PR!
+
+* Projects from [Yandex Schools](https://academy.yandex.ru/schools) were updated
+ by the original authors. Thanks to
+ [bshirokov](https://github.com/bshirokov),
+ [Almaz Shagiev](https://github.com/bashkirian),
+ [Konstantin Antoniadi](https://github.com/KonstantinAntoniadi),
+ [Mingaripov Niyaz](https://github.com/mnink275),
+ [Ilya Golosov](https://github.com/bookWorm21) and all the participants
+ for the the great work and PRs!
+
+* Build:
+ * New versions of `yaml-cpp` library are now supported. Thanks to
+ [Nikita](https://github.com/rtkid-nik) for the bug report!
+ * Supported compilation with fmt 10.1.0. Thanks to
+ [Vladislav Nepogodin](https://github.com/vnepogodin) for the PRs!
+ * Fixed unused result warning. Thanks to
+ [Vladislav Nepogodin](https://github.com/vnepogodin) for the PR!
+ * Fixed use of deprecated API. Thanks to
+ [Vladislav Nepogodin](https://github.com/vnepogodin) for the PR!
+ * Fixed build with GCC-13 libstdc++. Thanks to
+ [Vladislav Nepogodin](https://github.com/vnepogodin) for the PR!
+ * Fixed MacOS Protobuf discovery. Thanks to
+ [Pavel Talashchenko](https://github.com/pavelbezpravel) for the PR!
+ * Fixed multiple other build warnings and issues.
+
+
### Beta (August 2023)
* Deadline Propagation is now implemented and
@@ -70,7 +113,8 @@ Changelog news also go to the
* Documentation was redesigned by [hellenisaeva](https://github.com/hellenisaeva)
and [MariaGrinchenko](https://github.com/MariaGrinchenko); new design was
made up by [Fedor Alekseev](https://github.com/atlz253),
- [fleshr](https://github.com/fleshr), [ZenkoWu](https://github.com/ZenkoWu),
+ [fleshr](https://github.com/fleshr),
+ [Anna Zagrebaylo](https://github.com/ZenkoWu),
[Michael Talalaev](https://github.com/InfinityScripter); the whole process
was managed by [Oleg Komarov](https://github.com/0GE1) with feedback from
marketing specialist [makachusha](https://github.com/makachusha).