Secure-by-default Apex in Summer '26
Summer '26 changes Apex defaults in API 67.0: database operations move to user mode, classes enforce sharing by default and elevated access becomes explicit.
~/blog/latest · page 2/2
Summer '26 changes Apex defaults in API 67.0: database operations move to user mode, classes enforce sharing by default and elevated access becomes explicit.
TurboQuant matters because it attacks KV-cache pressure, one of the physical costs of serving long contexts to many users.
JSON.parse source text access and JSON.rawJSON preserve exact numeric literals instead of silently rounding them through Number.
I like the move toward a Go-based TypeScript because it targets the boring pain that shows up in real projects: slow tooling.
Complex template expressions in LWC can remove tiny bits of boilerplate, but they are best kept to simple math and checks.
A TypeScript inference edge case where removing an apparently redundant parameter annotation makes metadata precision collapse.
GraphQL mutations in API 66.0+ let LWCs create, update and delete UI API-supported records without Apex for standard CRUD paths.
Apex can now fetch all picklist values for a record type directly with ConnectApi.RecordUi.getPicklistValuesByRecordType in API 66.0.
RunRelevantTests reduces Apex deployment time by running only tests that are relevant to the components in your deployment payload.
I have been using Apex cursors since they became generally available, and this is where they help in day-to-day Salesforce work.
Temporal replaces JavaScript's overloaded Date model with explicit types for instants, civil time, time zones and calendar dates.
A quick note to say the blog is live and I will be posting older notes here over time.