Skip to content

26.3 Update - #337

Open
Dueris wants to merge 90 commits into
mainfrom
dev/26.3
Open

Dueris wants to merge 90 commits into
mainfrom
dev/26.3

Conversation

@Dueris

@Dueris Dueris commented Sep 21, 2026 •

Copy link
Copy Markdown
Member

Update to 26.3 - Wilderness Bound - https://www.minecraft.net/en-us/article/minecraft-java-edition-26-3

image

Details

There are still a few things needing to be finished up with this update, primarily relating to commands and also merging the extended view branch and rewriting the region profiler implementation. Once those are done we can move to BETA, but for now I think it's fine to move to ALPHA given everything seems to work fine for now, however Id like testing to start happening(hence why I want to start getting initial ALPHA builds out).

  • Note: spectators with portals should be tested a bit more, since logic for the clicking of portals I rewrote to be safe for region threading, since that was introduced in this update.
  • It is also worth noting I thread checked the internals of the post effect methods to be sure no plugin decides to do stupid shit with that
  • The command response tracker is synchronized, this is intentional even though we dont need it. This is simply for future-proofing. All enabled commands that use that class have been replaced with ACE API versions, with the tracker track methods executing in the value swap lock, which makes this safe.
  • Random teleport calls got changed. I rewrote part of it to use teleportAsync to avoid calling the Paper teleport events, and to ensure that we are randomly teleporting within the region bounds. We had this change in 26.2, however this was refined in this update a bit to ensure that the entity is kept inside the region properly.
  • RandomState#garbageCollect was moved to the god tick from the region tick for performance reasons, since this is a method that locks the densityBufferPoolLock during collection.
  • 2 new commands were added, posteffect and compute. posteffect was changed to be properly regionized, compute was disabled. This should be investigated more in-depth later to verify whether or not we can implement the compute command.
  • PlayerList#playerPermissions was changed to a ConcurrentHashMap, despite being unused, for future-proof sake.
  • A shit ton more...

I have reviewed the server-side Vanilla diff in full, and noted things which needed to be changed and accounted for. I may have missed something fs, so please LMK if I did.

I think we should also have a discussion about the Minecraft debug commands, since that is something that can be enabled via a flag, and I do not think we properly regionize any of those commands. It should be discussed whether or not those should be regionized properly or not.

Remaining TODO:

  • Restore the data command fix
  • Restore the loot command fix
  • Decide whether or not to regionize the debug commands
  • Merge the VVD system
  • Rewrite the region profiler implementation
  • Test everything
  • Fix Missing TPS graph #320
  • Fix Sand Duplication #330 - CC @BaconCat1 - he mentioned he was going to fix??
  • Check Vanilla fixes we have and remove outdated ones
  • Restore skeleton-aim-accuracy config
    • Should we try and enhance/expand this config?

Anyone viewing this PR is welcome to review, if any questions arise, ping me in Discord #canvas-dev/#canvas-contrib channel or ask in here.

@personalized-advertising

Copy link
Copy Markdown

Is canvas 26.3 planned to release with paper 26.3 stable? Because NGL I'm impatient and IMO profilers (timings, vanilla profiler, folia profiler etc.) have kind of been irrelevant and unused since spark sampler just works better.

@MrMasrozYTLIVE

Copy link
Copy Markdown
Contributor

Is canvas 26.3 planned to release with paper 26.3 stable? Because NGL I'm impatient and IMO profilers (timings, vanilla profiler, folia profiler etc.) have kind of been irrelevant and unused since spark sampler just works better.

Any software can't be stable when the software they highly depend on is not marked as stable.

@Toffikk

Toffikk commented Sep 30, 2026

Copy link
Copy Markdown
Member

Is canvas 26.3 planned to release with paper 26.3 stable? Because NGL I'm impatient and IMO profilers (timings, vanilla profiler, folia profiler etc.) have kind of been irrelevant and unused since spark sampler just works better.

You can always use unstable Canvas builds; in truth the “stable” channel is misleading as the only thing differentiating it from alpha and beta is that it had more time to mature, and whenever a new build comes out, the previous one can be considered unstable no matter what channel the software is on. The Canvas team all have their own lives, their own ideas they want to implement in the project which take time, and hasting releases can make them more likely to prove to contain issues and make us ship software we and users might not be happy with.

@personalized-advertising

Copy link
Copy Markdown

Is canvas 26.3 planned to release with paper 26.3 stable? Because NGL I'm impatient and IMO profilers (timings, vanilla profiler, folia profiler etc.) have kind of been irrelevant and unused since spark sampler just works better.

Any software can't be stable when the software they highly depend on is not marked as stable.

I'm saying when paper base becomes stable (which is looking very soon)

@personalized-advertising

Copy link
Copy Markdown

Is canvas 26.3 planned to release with paper 26.3 stable? Because NGL I'm impatient and IMO profilers (timings, vanilla profiler, folia profiler etc.) have kind of been irrelevant and unused since spark sampler just works better.

You can always use unstable Canvas builds; in truth the “stable” channel is misleading as the only thing differentiating it from alpha and beta is that it had more time to mature, and whenever a new build comes out, the previous one can be considered unstable no matter what channel the software is on. The Canvas team all have their own lives, their own ideas they want to implement in the project which take time, and hasting releases can make them more likely to prove to contain issues and make us ship software we and users might not be happy with.

Okie dokes.

@Dueris

Dueris commented Sep 30, 2026

Copy link
Copy Markdown
Member Author

Canvas 26.3 has experimental jars out rn on our downloads page.

Canvas 26.3 has more things left to do until Im comfortable with this version being marked as stable.

Dueris added 14 commits October 2, 2026 13:22
This does fucking nothing BTW. This is literally passed into the "hasTime" boolean supplier, but like there are 0 usages of this. This is for future-proofing, since Id like this fixed incase this DOES get used in the future.
Whoopsies my computer froze during this(I think was new kernel update) and for some reason the Region Threading patch details got deleted in a previous upstream. Added back now!
Signed-off-by: Dueris <duerismc@gmail.com>
Signed-off-by: Dueris <duerismc@gmail.com>
@personalized-advertising

Copy link
Copy Markdown

ooh beta now, ima run in production wish me luck 🙏

@CraftCanvasMC CraftCanvasMC locked as off-topic and limited conversation to collaborators Oct 6, 2026
Dueris added 3 commits October 6, 2026 11:22
This method is modeled after PlayerList#respawn, which added this call in 26.3, this now properly reflects that change

Signed-off-by: Dueris <duerismc@gmail.com>
This also adds thread checks for new 26.3 post effects API

Signed-off-by: Dueris <duerismc@gmail.com>
Signed-off-by: Dueris <duerismc@gmail.com>
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

priority: high type: update tracking The PR or report in question is related to tracking the progress of a new Minecraft update upstream: paper Caused by or related to our Paper upstream upstream: vanilla Caused by or related to our Vanilla upstream

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants