Project homepage Mailing List  Warmcat.com  API Docs  Github Mirror 
{"schema":"libjg2-1", "vpath":"/git/", "avatar":"/git/avatar/", "alang":"", "gen_ut":1711658167, "reponame":"libwebsockets", "desc":"libwebsockets lightweight C networking library", "owner": { "name": "Andy Green", "email": "andy@warmcat.com", "md5": "c50933ca2aa61e0fe2c43d46bb6b59cb" },"url":"https://libwebsockets.org/repo/libwebsockets", "f":3, "items": [ {"schema":"libjg2-1", "cid":"8b0b35b83ffe79b59c6efc76c775de13", "commit": {"type":"commit", "time": 1525471395, "time_ofs": 480, "oid_tree": { "oid": "135f72745b816bd0f9cb67cc9314c6366eeb0143", "alias": []}, "oid":{ "oid": "1c08a96b47a827f68dca2653cf74891d12abf54e", "alias": []}, "msg": "prepare for new release", "sig_commit": { "git_time": { "time": 1525471395, "offset": 480 }, "name": "Andy Green", "email": "andy@warmcat.com", "md5": "c50933ca2aa61e0fe2c43d46bb6b59cb" }, "sig_author": { "git_time": { "time": 1525411632, "offset": 480 }, "name": "Andy Green", "email": "andy@warmcat.com", "md5": "c50933ca2aa61e0fe2c43d46bb6b59cb" }}, "body": "prepare for new release" , "diff": "diff --git a/CMakeLists.txt b/CMakeLists.txt\nindex c59bc99..b260969 100644\n--- a/CMakeLists.txt\n+++ b/CMakeLists.txt\n@@ -135,13 +135,13 @@ project(libwebsockets C)\n \n set(PACKAGE \u0022libwebsockets\u0022)\n set(CPACK_PACKAGE_NAME \u0022${PACKAGE}\u0022)\n-set(CPACK_PACKAGE_VERSION_MAJOR \u00222\u0022)\n-set(CPACK_PACKAGE_VERSION_MINOR \u00224\u0022)\n+set(CPACK_PACKAGE_VERSION_MAJOR \u00223\u0022)\n+set(CPACK_PACKAGE_VERSION_MINOR \u00220\u0022)\n set(CPACK_PACKAGE_VERSION_PATCH \u00220\u0022)\n set(CPACK_PACKAGE_VERSION \u0022${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}\u0022)\n set(CPACK_PACKAGE_VENDOR \u0022andy@warmcat.com\u0022)\n set(CPACK_PACKAGE_DESCRIPTION_SUMMARY \u0022${PACKAGE} ${PACKAGE_VERSION}\u0022)\n-set(SOVERSION \u002212\u0022)\n+set(SOVERSION \u002213\u0022)\n if(NOT CPACK_GENERATOR)\n if(UNIX)\n set(CPACK_GENERATOR \u0022TGZ\u0022)\ndiff --git a/changelog b/changelog\nindex e98e6c1..422813b 100644\n--- a/changelog\n+++ b/changelog\n@@ -1,6 +1,175 @@\n Changelog\n ---------\n \n+v3.0.0\n+\u003d\u003d\u003d\u003d\u003d\u003d\n+\n+ - CHANGE: Clients used to call LWS_CALLBACK_CLOSED same as servers...\n+ LWS_CALLBACK_CLIENT_CLOSED has been introduced and is called for clients\n+ now.\n+ \n+ - CHANGE: LWS_CALLBACK_CLIENT_CONNECTION_ERROR used to only be directed at\n+ protocols[0]. However in many cases, the protocol to bind to was provided\n+ at client connection info time and the wsi bound accordingly. In those\n+ cases, CONNECTION_ERROR is directed at the bound protocol, not protcols[0]\n+ any more.\n+\n+ - CHANGE: CMAKE: the following cmake defaults have changed with this version:\n+ \n+ - LWS_WITH_ZIP_FOPS: now defaults OFF\n+ - LWS_WITH_RANGES: now defaults OFF\n+ - LWS_WITH_ZLIB: now defaults OFF\n+ - LWS_WITHOUT_EXTENSIONS: now defaults ON\n+ \n+ - CHANGE: REMOVED: lws_alloc_vfs_file() (read a file to malloc buffer)\n+ \n+ - CHANGE: REMOVED: lws_read() (no longer useful outside of lws internals)\n+ \n+ - CHANGE: REMOVED: ESP8266... ESP32 is now within the same price range and much\n+ more performant\n+ \n+ - CHANGE: soname bump... don't forget to `ldconfig`\n+ \n+ - NEW: all event libraries support \u0022foreign\u0022 loop integration where lws itself\n+ if just a temporary user of the loop unrelated to the actual loop lifecycle.\n+ \n+ See `minimal-http-server-eventlib-foreign` for example code demonstrating\n+ this for all the event libraries.\n+ \n+ Internal loop in lws is also supported and demonstrated by\n+ `minimal-http-server-eventlib`.\n+ \n+ - NEW: ws-over-h2 support. This is a new RFC-on-the-way supported by Chrome\n+ and shortly firefox that allows ws connections to be multiplexed back to the\n+ server on the same tcp + tls wrapper h2 connection that the html and scripts\n+ came in on. This is hugely faster that discrete connections.\n+ \n+ - NEW: UDP socket adoption and related event callbacks\n+ \n+ - NEW: Multi-client connection binding, queuing and pipelining support.\n+ \n+ Lws detects multiple client connections to the same server and port, and\n+ optimizes how it handles them according to the server type and provided\n+ flags. For http/1.0, all occur with individual parallel connections. For\n+ http/1.1, you can enable keepalive pipelining, so the connections occur\n+ sequentially on a single network connection. For http/2, they all occur\n+ as parallel streams within a single h2 network connection.\n+ \n+ See minimal-http-client-multi for example code. \n+ \n+ - NEW: High resolution timer API for wsi, get a callback on your wsi with\n+ LWS_CALLBACK_TIMER, set and reset the timer with lws_set_timer_usecs(wsi, us)\n+ Actual resolution depends on event backend. Works with all backends, poll,\n+ libuv, libevent, and libev.\n+ \n+ - NEW: Protocols can arrange vhost-protocol instance specific callbacks with\n+ second resolution using `lws_timed_callback_vh_protocol()`\n+\n+ - NEW: ACME client plugin for self-service TLS certificates\n+ \n+ - NEW: RFC7517 JSON Web Keys RFC7638 JWK thumbprint, and RFC7515 JSON Web\n+ signatures support\n+ \n+ - NEW: lws_cancel_service() now provides a generic way to synchronize events\n+ from other threads, which appear as a LWS_CALLBACK_EVENT_WAIT_CANCELLED\n+ callback on all protocols. This is compatible with all the event libraries.\n+\n+ - NEW: support BSD poll() where changes to the poll wait while waiting are\n+ undone.\n+\n+ - NEW: Introduce generic hash, hmac and RSA apis that operate the same\n+ regardless of OpenSSL or mbedTLS tls backend\n+ \n+ - NEW: Introduce X509 element query api that works the same regardless of\n+ OpenSSL or mbedTLS tls backend\n+ \n+ - NEW: Introduce over 30 \u0022minimal examples\u0022 in ./minimal-examples... these\n+ replace most of the old test servers\n+ \n+ - test-echo -\u003e minimal-ws-server-echo and minimal-ws-client-echo\n+\n+ - test-server-libuv / -libevent / -libev -\u003e\n+ minimal-https-server-eventlib / -eventlib-foreign / -eventlib-demos\n+\n+ - test-server-v2.0 -\u003e folded into all the minimal servers\n+\n+ - test-server direct http serving -\u003e minimal-http-server-dynamic\n+ \n+ The minimal examples allow individual standalone build using their own\n+ small CMakeLists.txt.\n+ \n+ - NEW: lws now detects any back-to-back writes that did not go through the\n+ event loop inbetween and reports them. This will flag any possibility of\n+ failure rather than wait until the problem happens.\n+ \n+ - NEW: CMake has LWS_WITH_DISTRO_RECOMMENDED to select features that are\n+ appropriate for distros\n+ \n+ - NEW: Optional vhost URL `error_document_404` if given causes a redirect there\n+ instead of serve the default 404 page.\n+ \n+ - NEW: lws_strncpy() wrapper guarantees NUL in copied string even if it was\n+ truncated to fit.\n+ \n+ - NEW: for client connections, local protocol binding name can be separated\n+ from the ws subprotocol name if needed, using .local_protocol_name\n+\n+ - NEW: Automatic detection of time discontiguities\n+ \n+ - NEW: Applies TCP_USER_TIMEOUT for Linux tcp keepalive where available\n+ \n+ - QA: 1600 tests run on each commit in Travis CI, including almost all\n+ Autobahn in client and server mode, various h2load tests, h2spec, attack.sh\n+ the minimal example selftests and others.\n+\n+ - QA: fix small warnings introduced on gcc8.x (eg, Fedora 28)\n+ \n+ - QA: Add most of -Wextra on gcc (-Wsign-compare, -Wignored-qualifiers,\n+ -Wtype-limits, -Wuninitialized)\n+ \n+ - QA: clean out warnings on windows\n+ \n+ - QA: pass all 146 h2spec tests now on strict\n+ \n+ - QA: introduce 35 selftests that operate different minimal examples against\n+ each other and confirm the results.\n+ \n+ - QA: LWS_WITH_MINIMAL_EXAMPLES allows mass build of all relevant minimal-\n+ examples with the LWS build, for CI and to make all the example binaries\n+ available from the lws build dir ./bin\n+ \n+ - REFACTOR: the lws source directory layout in ./lib has been radically\n+ improved, and there are now README.md files in selected subdirs with extra\n+ documentation of interest to people working on lws itself.\n+\n+ - REFACTOR: pipelined transactions return to the event loop before starting the\n+ next part. \n+ \n+ - REFACTOR: TLS: replace all TLS library constants with generic LWS ones and\n+ adapt all the TLS library code to translate to these common ones.\n+ \n+ Isolated all the tls-related private stuff in `./lib/tls/private.h`, and all\n+ the mbedTLS stuff in `./lib/tls/mbedtls` + openSSL stuff in\n+ `./lib/tls/openssl`\n+ \n+ - REFACTOR: the various kinds of wsi possible with lws have been extracted\n+ from the main code and isolated into \u0022roles\u0022 in `./lib/roles` which\n+ communicate with the core code via an ops struct. Everything related to\n+ ah is migrated to the http role.\n+ \n+ wsi modes are eliminated and replaced by the ops pointer for the role the\n+ wsi is performing. Generic states for wsi are available to control the\n+ lifecycle using core code.\n+ \n+ Adding new \u0022roles\u0022 is now much easier with the changes and ops struct to\n+ plug into.\n+\n+ - REFACTOR: reduce four different kinds of buffer management in lws into a\n+ generic scatter-gather struct lws_buflist. \n+\n+ - REFACTOR: close notifications go through event loop\n+\n+\n v2.4.0\n \u003d\u003d\u003d\u003d\u003d\u003d\n \ndiff --git a/scripts/libwebsockets.spec b/scripts/libwebsockets.spec\nindex 7ff05a5..8041c75 100644\n--- a/scripts/libwebsockets.spec\n+++ b/scripts/libwebsockets.spec\n@@ -1,5 +1,5 @@\n Name: libwebsockets\n-Version: 2.4.0\n+Version: 3.0.0\n Release: 1%{?dist}\n Summary: Websocket Server and Client Library\n \n@@ -48,20 +48,10 @@ rm -rf $RPM_BUILD_ROOT\n %defattr(-,root,root,-)\n %attr(755,root,root)\n /usr/bin/libwebsockets-test-server\n-/usr/bin/libwebsockets-test-server-extpoll\n /usr/bin/libwebsockets-test-client\n-/usr/bin/libwebsockets-test-ping\n-/usr/bin/libwebsockets-test-echo\n-/usr/bin/libwebsockets-test-fraggle\n-/usr/bin/libwebsockets-test-fuzxy\n-/usr/bin/libwebsockets-test-lejp\n-/usr/bin/libwebsockets-test-server-pthreads\n-/usr/bin/libwebsockets-test-server-libev\n-/usr/bin/libwebsockets-test-server-libuv\n-/usr/bin/libwebsockets-test-server-v2.0\n /usr/bin/libwebsockets-test-sshd\n /usr/bin/lwsws\n-/%{_libdir}/libwebsockets.so.12\n+/%{_libdir}/libwebsockets.so.13\n /%{_libdir}/libwebsockets.so\n /%{_libdir}/cmake/libwebsockets/LibwebsocketsConfig.cmake\n /%{_libdir}/cmake/libwebsockets/LibwebsocketsConfigVersion.cmake\n@@ -78,6 +68,9 @@ rm -rf $RPM_BUILD_ROOT\n /%{_libdir}/pkgconfig/libwebsockets_static.pc\n \n %changelog\n+* Mon May 4 2018 Andy Green \u003candy@warmcat.com\u003e 3.0.0-1\n+- MAJOR SONAMEBUMP APICHANGES Upstream 3.0.0 release\n+\n * Mon Oct 16 2017 Andy Green \u003candy@warmcat.com\u003e 2.4.0-1\n - MAJOR SONAMEBUMP APICHANGES Upstream 2.4.0 release\n \n","s":{"c":1711658167,"u": 3565}} ],"g": 4990,"chitpc": 0,"ehitpc": 0,"indexed":0 , "ab": 0, "si": 0, "db":0, "di":0, "sat":0, "lfc": "0000"}