-
-
Notifications
You must be signed in to change notification settings - Fork 237
Comparing changes
Open a pull request
base repository: moscajs/aedes
base: v0.51.3
head repository: moscajs/aedes
compare: main
- 14 commits
- 66 files changed
- 3 contributors
Commits on May 6, 2025
-
Configuration menu - View commit details
-
Copy full SHA for dcd1d39 - Browse repository at this point
Copy the full SHA dcd1d39View commit details
Commits on Jun 17, 2025
-
chore: update dependencies (#1028)
* chore: update dependencies * update @types/node,tsd, typescript * remove @typescript-eslint * more updates * update uuid * update CI to node 20,22,24
Configuration menu - View commit details
-
Copy full SHA for f328ee1 - Browse repository at this point
Copy the full SHA f328ee1View commit details -
Configuration menu - View commit details
-
Copy full SHA for ef5e1a8 - Browse repository at this point
Copy the full SHA ef5e1a8View commit details
Commits on Jun 19, 2025
-
Configuration menu - View commit details
-
Copy full SHA for f874bb1 - Browse repository at this point
Copy the full SHA f874bb1View commit details
Commits on Jun 23, 2025
-
chore: migrate to ES6 classes (#1032)
* chore: migrate to ES6 classes * add constructor check to test/basic.js * add teardown to Aedes constructor test * fix basic.js
Configuration menu - View commit details
-
Copy full SHA for 16e1886 - Browse repository at this point
Copy the full SHA 16e1886View commit details
Commits on Jul 7, 2025
-
feat: automate benchmarking (#1035)
* feat: automate benchmark testing * group averages * add percentages to report.js * fix missing counter reset in bombingQoS1 * add README.md and examples * update bombingQoS1 * remove benchmark examples * improve benchmarking * put summary first
Configuration menu - View commit details
-
Copy full SHA for 04e391f - Browse repository at this point
Copy the full SHA 04e391fView commit details
Commits on Jul 14, 2025
-
feat!: migrate to async persistence (#1034)
This PR migrates Aedes to use the async persistence interface. It contains the following sub items: - [X] replace all callback calls to persistence by `.then()` calls - [X] move all side effects (setting up persistence, attaching event handlers etc) to a `listen()` method of Aedes - [X] update `createBroker()` to be async and make it await `listen()` as well - [X] update exports so that they produce a warning if people use old style calling - [X] update Typescript typing - [X] update documentation including examples - [X] add a `migration.md` to help users migrate. - [X] do some benchmark tests to see performances are kept - [X] update node engines version to >=20 - [X] updates all dependencies to current except for Tap and @sinonjs/fake-timers BREAKING CHANGES: See [docs](https://github.com/moscajs/aedes/blob/main/docs/MIGRATION.md)
Configuration menu - View commit details
-
Copy full SHA for f6a09bf - Browse repository at this point
Copy the full SHA f6a09bfView commit details
Commits on Jul 15, 2025
-
feat: automate benchmark on PR requests using Github Actions (#1037)
This PR adds Github actions to automate benchmark running on PR requests It will create a [Github Job Summary](https://github.blog/news-insights/product-news/supercharging-github-actions-with-job-summaries/) of the benchmark and add it to the benchmark action (see https://github.com/moscajs/aedes/actions/runs/16239498783#summary-45853979456 ) The benchmark steps run serialized in the hope that performance on a single runner does not vary too much. I have been building testing this using seriousme#1 which also shows how it operates. It also shows that variation between results is inevitable, even when running on the same runner and the Aedes code is identical !! In seriousme#1 I was able to add the comment automatically to the PR using `.github/actions/sticky-pr-comment/action.yml` however if you send a PR from a fork the GITHUB_TOKEN that runs the actions by default (event: [pull_request](https://docs.github.com/en/actions/reference/events-that-trigger-workflows#pull_request) ) only has `read` access on the PR for security reasons (see [Pull Request events for forked repositories](https://docs.github.com/en/actions/reference/events-that-trigger-workflows#pull-request-events-for-forked-repositories)) This can be fixed by attaching to the event: [pull_request_target](https://docs.github.com/en/actions/reference/events-that-trigger-workflows#pull_request_target), however Github notes explicitly: *Avoid using this event if you need to build or run code from the pull request.* So for now I used Github Job Summary instead. Kind regards, Hans --------- Co-authored-by: Daniel Lando <daniel.sorridi@gmail.com>
Configuration menu - View commit details
-
Copy full SHA for 86f5b45 - Browse repository at this point
Copy the full SHA 86f5b45View commit details
Commits on Jul 16, 2025
-
Configuration menu - View commit details
-
Copy full SHA for 8220f0a - Browse repository at this point
Copy the full SHA 8220f0aView commit details -
This PR migrates Aedes to ESM. I followed Sindre Sorhus' checklist mentioned by Daniel in #1038: - [X] Add "type": "module" to your package.json - [X] Replace "main": "index.js" with "exports": "./index.js" in your package.json. - [X] Update the "engines" field in package.json to Node.js 20: "node": ">=20". - [X] Remove 'use strict'; from all JavaScript files. - [X] Replace all require()/module.export with import/export. - [X] Use only full relative file paths for imports: import x from '.'; → import x from './index.js';. - [X] If you have a TypeScript type definition (for example, index.d.ts), update it to use ESM imports/exports. - [X] Use the [node: protocol](https://nodejs.org/api/esm.html#esm_node_imports) for Node.js built-in imports. And added the following items: - [X] remove `proxyquire` as it does not work with ESM (Proxy-require, the name says it all) - [X] monkey patch neostandard in eslint.config.js as it does not support import assertions yet (I opened a ticket with them, but this works) - [X] add `test/require.cjs` which checks if `require("aedes")` still works for those that need it. Enjoy! Hans For reference: I used `ts2esm` with a simple `jsconfig.json` to do most of the heavy lifting. --------- Co-authored-by: Daniel Lando <daniel.sorridi@gmail.com>
Configuration menu - View commit details
-
Copy full SHA for d1cc2a3 - Browse repository at this point
Copy the full SHA d1cc2a3View commit details
Commits on Jul 17, 2025
-
chore: update dependencies (#1041)
This PR updates all dependencies to their latest versions: - @sinonjs/fake-timers ^11.2.2 → ^14.0.0 - @types/node ^24.0.12 → ^24.0.14 - eslint ^9.30.1 → ^9.31.0 - mqemitter ^7.0.0 → ^7.1.0 - release-it ^19.0.3 → ^19.0.4 - tap ^16.3.10 → ^21.1.0 It removes the following dev dependencies that were no longer used: - typescript - snazzy The upgrade of tap required: - a new .taprc as the contents were not relevant anymore for v21 - adjustment of package.json as e.g. the Tap -J flag is now default behavior - fixing of a few tests in `client-pub-sub.js ` that incorrectly passed too many arguments to t.pass() - adjustment of CI.yml because the location of the coverage folder was changed by Tap It also removes a console.log() from `test/connect.js` which was a leftover from debugging. As a bonus I modified CI.yml slightly so that the first job of the matrix will always upload coverage and we do not need to update the nodeJS version in this specific "if" anymore. Kind regards, Hans
Configuration menu - View commit details
-
Copy full SHA for b5178c0 - Browse repository at this point
Copy the full SHA b5178c0View commit details
Commits on Sep 2, 2025
-
chore: replace tap by node:test (#1042)
This PR replaces Tap by node:test Tasks: - [x] auth.js - [x] basic.js - [x] bridge.js - [x] client-pub-sub.js - [x] close_socket_by_other_party.js - [x] connect.js (with TODO's) - [x] events.js - [x] keep-alive.js - [x] meta.js (with 1 TODO) - [x] not-blocking.js - [x] qos1.js - [x] qos2.js - [x] regr-21.js - [x] require.cjs - [x] retain.js (with 1 TODO) - [x] topics.js - [x] will.js - [x] update package.json scripts - [x] update package.json devDependencies - [x] update 'coverage' directory in ci.yml The following devDependencies have been replaced by NodeJS native functionality - @sinonjs/fake-timers - concat-stream - duplexify - mqtt-connection - tap It adds `c8` as devDependency to facilitate test coverage.
Configuration menu - View commit details
-
Copy full SHA for 9063215 - Browse repository at this point
Copy the full SHA 9063215View commit details
Commits on Sep 3, 2025
-
chore(dev): fix incorrect automated benchmark threshold handling (#1046)
A bug in the benchmarking report triggered a fail if the benchmark of the branch to merge scored more than the threshold over the main branch (ie. the merge branch is better), where it should fail if the score is more than the threshold below the main branch. This PR aims to fix that, and also improves reporting in case of a fail. Kind regards, Hans
Configuration menu - View commit details
-
Copy full SHA for 9b76359 - Browse repository at this point
Copy the full SHA 9b76359View commit details
Commits on Oct 7, 2025
-
chore: remove release-it configuration from package.json and add to .…
…release-it.json (#1052)
Configuration menu - View commit details
-
Copy full SHA for 2c6882e - Browse repository at this point
Copy the full SHA 2c6882eView commit details
This comparison is taking too long to generate.
Unfortunately it looks like we can’t render this comparison for you right now. It might be too big, or there might be something weird with your repository.
You can try running this command locally to see the comparison on your machine:
git diff v0.51.3...main