-
-
Notifications
You must be signed in to change notification settings - Fork 2.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fastify v4 release coordination #3482
Comments
Shouldn't we make a proper documentation review before landing v4? I know there were several corrections regarding phrasing / misleading sentences. |
I don't think it's feasible. We need to ship a v4 release to get on the latest Ajv and Pino bandwagon, otherwise we are keeping ourselves further behind. Moreover there are quite a few improvements sitting in the next branch. I would also like to phase out Node v10 support asap (and possibly v12). |
Agreed that docs shouldn't block (despite the mess). Just drop 12 and below. Our release cycle is too slow to carry that forward. |
I think we decided to move to Here's the thing: I am surfing the edge of burnout. I'm doing what I can to stay in the game at work, but OSS in my free time is really hard right now (I suspect the same is true of several of us). There's a mountain of things I want to get done here, in Pino, |
Thanks for the transparency @jsumners! I think a lot of us are in the same mindset at the minute. |
+1 on dropping support for node 10 and 12. Can mass remove them from CI workflows etc. if/when needed (or hopefully just the composite action if that's in place beforehand). |
Do anyone in @fastify/typescript have time to investigate on merging generic params for |
I am +1 on dropping support for Node.js 10 and 12. |
@climba03003 do you have something I can look at for
|
For example Lines 29 to 34 in 08877f1
should be changed to // name can be changed
interface CommonServerInterface {
Server = unknown,
Request = unknown,
Reply = unknown,
Logger = unknown
}
declare function fastify<CommonServerInterface>(opts: FastifyHttp2SecureOptions<CommonServerInterface>): FastifyInstance<CommonServerInterface> & PromiseLike<FastifyInstance<CommonServerInterface>> I don't know if it is possible, but a single interface here provide better DX if user want to override |
Ahh yeah i've tried that once before and couldn't get it to work; maybe I'll try it again (but other folks should feel free to give it a shot + we don't have to block v4 for it) |
This comment has been minimized.
This comment has been minimized.
I have successfully merged main into next. I will soon create a v3.x branch and move next to main. |
Should we make a dedicated section with release notes in our homepage? |
We leverage the GitHub releases feature to publish release notes. |
I'm aware. But I feel like there's people that miss those and instead just rely on our website documentation. The section wouldn't be something too extense, just the news about a new major version and a short description of the new features (and fixes?). I see that there was a blog post planned too. We could also link it from the site. |
Like the V3 migration guide but for V4? |
That could be added too! So apart from the github releases feature to publish release notes we could:
Some examples: |
In #3083 there was some consensus about changing the default of |
Not stale, it is in progress. |
Stalebot getting inpatient 😆 |
I have updated the table at the top adding the full list of modules. Let's start updating them all! If you have some time this is a great way to contribute. |
These will be new major versions. Do not forget to update the name in the module metadata. |
https://github.com/fastify/fastify-bankai is archived, so can be removed from the list. |
Hey folks, I've covered most of the plugins in the list. I plan to have Fastify v4 released between now and OpenJS World in Austin. |
Feel free to take a stab at the remaining ones. |
Amazing work. I know how tedious that must've been. |
Really looking forward for the 4.x release. Great work! @mcollina One question: Is |
It does not need an update. |
Hi! Made a couple of PRs for @fastify/caching and @fastify/elasticsearch, I'll try to open more during the day/week 🙂 |
I think we are almost ready to ship. I plan to issue a release after or during the Collaborator Summit in Austin. |
The modules issue still has a few things that need to be resolved. |
I'm happy to ship without those for now |
I commented a while back about changing defaults and doc examples to JTD by default instead of JSON Schema. Some of that lies with ajv-compiler, but the jsonShorthand default currently has to be disabled by the user to use JTD schemas with the ajv-compier, which isn't a great experience for new users who want to use JTD. |
I think we'll go with JSON Schema with the v4 line. I'd be happy to review a PR that documents JTD as an option. |
I do not think JTD is a sufficiently widely adopted standard across languages to make it the default. JSON Schema enables interoperability among many different ecosystems. |
Regarding "check if anything needs to be done to support pino transports & pino pretty deprecation" -- in my recent testing my application started throwing deprecation warnings like:
As suggested here the deprecation warnings go away by changing my config from: I am seeing no other problems with newest pino and pino-pretty otherwise. If this is the case, the only needed change would be a documentation update. I'd be happy to create a PR to update the logging documentation if no one has picked it up yet. |
Go for it! Thanks! |
This is an issue to coordinate the release of Fastify v4. It will be updated as soon as it progresses.
major
(ETA ~1h)fjs-compiler
module in the fastify’s org:preParsing
hook from two fastify’s modules Alias preParsing to onRequest hook. Deprecate preParsing #3503 (comment)next
dist-tag (npm publish --tag next
)module@latest
is still correctly pointing to the old version withnpm show
Modules to update
Once one it's done add the PR link next to it.
aws-lambda-fastify
- feat!: update to fastify@v4 aws-lambda-fastify#108create-fastify
@fastify/accepts
- Update to Fastify v4 fastify-accepts#131@fastify/accepts-serializer
- Update to Fastify v4 fastify-accepts-serializer#77@fastify/auth
- Updated to Fastify v4 fastify-auth#154@fastify/autoload
- Update to Fastify v4 fastify-autoload#239 - mostly not needed, the plugin just works.fastify-awilix
- Updated to Fastify v4 fastify-awilix#73@fastify/basic-auth
- Updated to Fastify v4 fastify-basic-auth#91@fastify/bearer-auth
-Updated to Fastify v4 fastify-bearer-auth#134@fastify/caching
- feat!: upgrade to fastify@v4 fastify-caching#102@fastify/circuit-breaker
- Update to Fastify v4 fastify-circuit-breaker#90fastify-cli
- feat!: migrate to fastify@v4 fastify-cli#490@fastify/compress
- Update to Fastify v4 fastify-compress#224@fastify/cookie
- Updated to Fastify v4 fastify-cookie#181 (no changes needed)@fastify/cors
- Updated to Fastify v4 fastify-cors#201@fastify/csrf-protection
- Updated to Fastify v4 csrf-protection#89@fastify/diagnostics-channel
- Updated to Fastify v4 fastify-diagnostics-channel#39 - not many changes needed, only in tests@fastify/elasticsearch
- feat!: update to fastify@v4 fastify-elasticsearch#77@fastify/env
- Update to Fastify v4 fastify-env#144@fastify/etag
- Updated to Fastify v4 fastify-etag#82@fastify/express
- Update fastify 4 fastify-express#86@fastify/flash
- Bumped Fastify v4 fastify-flash#71@fastify/formbody
- bumped Fastify v4 fastify-formbody#111@fastify/funky
@fastify/helmet
- Bumped to Fastify v4 fastify-helmet#180@fastify/http-proxy
- Update to Fastify v4 fastify-http-proxy#247@fastify/jwt
- Updated to Fastify v4 fastify-jwt#227 (not many change needed)@fastify/leveldb
- updated to Fastify v4 fastify-leveldb#93@fastify/mysql
- Bumped Fastify v4 fastify-mysql#92@fastify/mongodb
- Update to fastify@4 fastify-mongodb#179@fastify/multipart
- Updated to Fastify v4 fastify-multipart#344 (no real change needed, only deprecations)skip because Update simple-oauth2 to v4.x fastify-oauth2#152@fastify/oauth2
@fastify/passport
- feat: fastify v4 support fastify-passport#552@fastify/postgres
- Updated to Fastify v4 fastify-postgres#131@fastify/rate-limit
- Updated to Fastify v4 fastify-rate-limit#239@fastify/request-context
- Updated to Fastify v4 fastify-request-context#114@fastify/response-validation
- blocked by chore(deps-dev): bump next from 12.0.8 to 12.1.6 fastify-nextjs#534@fastify/nextjs
@fastify/redis
- Updated Fastify to v4. Dropped redis module support fastify-redis#147@fastify/reply-from
- Update to Fastify v4 fastify-reply-from#250@fastify/routes
- Updated to Fastify v4 fastify-routes#66blocked by Support Node v16 and v18 fastify-routes-stats#76@fastify/routes-stats
fastify-schedule
- Updated to Fastify v4 fastify-schedule#82@fastify/sensible
- Updated to Fastify v4, dropped error handler fastify-sensible#109@fastify/secure-session
- bumped Fastify v4 fastify-secure-session#130@fastify/session
- update to Fastify v4 session#89@fastify/static
- Update to fastify@4 fastify-static#292@fastify/swagger
- feat: support fastify v4 fastify-swagger#599@fastify/websocket
- Update to Fastify v4 fastify-websocket#197@fastify/url-data
- Update fastify v4 fastify-url-data#104 (work as is, no need to update urgently)middie
- Updated to Fastify v4 middie#144point-of-view
- update to Fastify v4 point-of-view#309under-pressure
- update to Fastify v4 under-pressure#162The text was updated successfully, but these errors were encountered: