# Changelog ## 2025-12-03 - 4.0.0 - BREAKING CHANGE(TypedSocket.createServer) Remove SmartExpress attachment support from createServer and upgrade smartsocket to ^3.0.0 - Bump dependency @push.rocks/smartsocket from ^2.1.0 to ^3.0.0. - Remove optional SmartExpress attachment parameter from TypedSocket.createServer and remove the setExternalServer call — createServer now only accepts a TypedRouter and starts its own Smartsocket server. - Update README: remove the SmartExpress integration section and adjust the API docs to reflect the new createServer(router) signature. - Adjust TypeScript implementation to match the simplified createServer signature and behavior. ## 2025-12-02 - 3.1.1 - fix(package) Include pnpm packageManager metadata in package.json - Added packageManager field to package.json: pnpm@10.18.1+sha512.77a884a165cbba2d8d1c19e3b4880eee6d2fcabd0d879121e282196b80042351d5eb3ca0935fa599da1dc51265cc68816ad2bddd2a2de5ea9fdf92adbec7cd34 - No runtime or API changes — metadata-only change ## 2025-12-02 - 3.1.0 - feat(TypedSocket) Add SmartServe integration to TypedSocket, support SmartServe connections and tagging; update dependencies and docs; remove GitLab CI config - Add TypedSocket.fromSmartServe(smartServe, typedRouter) to bind TypedSocket to an existing SmartServe instance for native WebSocket handling. - Introduce ISmartServeConnectionWrapper and wrapSmartServePeer to provide tag compatibility between SmartServe (Set) and TypedSocket (id/payload). Tag payloads are stored in peer.data with '__typedsocket_tag__' prefix. - Server-initiated requests in SmartServe mode use TypedRouter.fireEventInterestMap to correlate requests and responses asynchronously. - Extend createTypedRequest, findAllTargetConnections, findTargetConnection, findAllTargetConnectionsByTag and findTargetConnectionByTag to support both Smartsocket and SmartServe backends (via wrappers). - eventSubject: Emit a warning and return a new Subject in SmartServe mode (SmartServe lifecycle/events should be consumed via SmartServe hooks). - stop(): In SmartServe mode TypedSocket clears internal wrappers but does not stop SmartServe (SmartServe lifecycle is managed externally). - Add optional peer dependency @push.rocks/smartserve and expose type-only imports in ts/typedsocket.plugins.ts. - Bump several devDependencies and runtime dependencies to newer versions (tsbuild, tsbundle, tsrun, tstest, smartenv, smartserve, smartjson, smartrx, smartsocket, smartstring, smarturl). - Update README and readme.hints with SmartServe integration docs and examples. - Remove .gitlab-ci.yml (CI configuration removed). ## 2024-04-18 - 3.0.1 - patch Small patch release. - Version bump to 3.0.1. - No additional details provided in commits. ## 2024-04-18 - 3.0.0 - core Major 3.0.0 release with core updates and documentation improvements. - Core fixes and updates applied. - Documentation updated (commit dated 2024-04-14). - General maintenance and polishing for the 3.x line. ## 2023-08-06 - 2.0.28 - core (BREAKING CHANGE) Breaking change in core introduced in 2.0.28; important compatibility considerations. - BREAKING CHANGE(core): update — review integration points before upgrading. - This capstone release follows a series of patch releases addressing stability and core behavior. ## 2022-03-24 - 2.0.0 - core Introduction of the 2.x stable line and subsequent patch series. - 2.0.0 initial release of the 2.x series. - Follow-up patch releases (2.0.1 through 2.0.27) contain numerous "fix(core): update" changes — ongoing bug fixes, stability improvements, and small core adjustments across 2022–2023. - Users upgrading from 1.x should review 2.x changes and the 2.0.28 breaking change above. ## 2020-12-26 - 1.0.2 - core Initial implemented functionality and the start of 1.x maintenance. - fix(core): implement basic functionality — initial usable feature set implemented in 1.0.2. - Subsequent 1.0.3 through 1.0.27 releases (2020–2022) included ongoing fixes and minor updates to stabilize the 1.x line.