aer 1.2
aer 1.2 was released on June 25, 2026. It widens the set of Salesforce products aer models, adds two new kinds of test run, and reduces memory use and startup time on large projects.
New SObject and feature support
- Salesforce Knowledge. References to
__kavarticle-version and__kaarticle objects resolve, and the object family (article, version, share, data-category selection, view and vote stats, history,CaseArticle) is created on demand.KbManagement.PublishingServiceimplements the full lifecycle: publish, edit, archive, restore versions, schedule, and the translation methods. Draft-version DML creates the parent article,UrlNameformat and uniqueness are enforced, and queries hide superseded versions.WITH DATA CATEGORYSOQL, multi-language articles, the abstractKnowledgeArticleandKnowledgeArticleVersionentities, and gating on the “Manage Salesforce Knowledge” permission are supported.ConnectApi.Knowledgetrending-article methods are implemented. - Team Selling and Opportunity Splits.
AccountTeamMember,OpportunityTeamMember,OpportunitySplit, andOpportunitySplitTypecan be described, queried, and manipulated, gated on the Account Teams and Opportunity Teams settings. With Opportunity Splits enabled, the opportunity owner is enrolled as anOpportunityTeamMemberon insert, andOpportunity.IsSplitis exposed. - Enterprise Territory Management. The Territory2 model, type, territory,
assignment, and assignment-rule objects are registered when
Territory2Settings.enableTerritoryManagement2is set, along withOpportunity.Territory2IdandIsExcludedFromTerritory2Filter. Territory metadata is loaded as queryable records. - Collaborative Forecasts.
ForecastingTypeandForecastingGroupare registered whenForecastingSettings.enableForecastsis set, with the standardForecastingTyperecords seeded. - Case Team objects.
CaseTeamMember,CaseTeamRole,CaseTeamTemplate, andCaseTeamTemplateMember, with the DML restrictions Salesforce applies. - Education Cloud (
--feature EducationCloud). 88 Education Cloud objects plus fields added to standard objects, enabled automatically when an Education Cloud object or field is referenced. - High Velocity Sales (
--feature HighVelocitySales). The Sales Engagement cadence objects, enabled automatically when referenced. - VideoCall standard object (Einstein Conversation Insights), with its full field set, child relationships, and inserts.
- Custom Address fields. Address-type custom fields generate their
__scomponent fields, so SOQL and Apex referencing the components compile and the compound reconstructs on query, including under a namespace. - Field history tracking. Updating a field configured with
trackHistoryon a history-enabled object writes an<Object>Historyrow when the change commits. Integration tests, anonymous exec, and the server commit their data; standard@IsTesttests roll back and so create no history. - Seeded standard records.
PermissionSetLicense,MilestoneType,ForecastingType, andSlaProcessship with the standard records a real org provides. - Queue sharing with bosses. A queue with
DoesIncludeBosses = trueshares queue-owned records with users above queue members in the role hierarchy.
New capabilities
- Workspace auto-detection. When type checking a file fails to resolve
references and the file lives inside an
sfdx-project.jsonorpackage.xmlworkspace,aer testloads the surrounding workspace and retries once, while keeping test selection scoped to the files you named. This works under--watchas well. --runs N. Repeat each selected test method N times to find flaky tests. Each PASS or FAIL line is tagged with its run number.--integration-tests. Discover and run@IntegrationTestclasses and methods, which commit their data and run@TearDowncleanup between methods. Compatible with--debugand the VS Code test panel, which separates Unit and Integration tests.- Memory-constrained execution. Large string concatenations become shared
rope strings, and per-test in-memory SQLite databases spill to temporary
on-disk files under memory pressure (
--spill-to-disk=auto|never|always). Pooled test VMs share one immutable copy of the schema and copy only the objects a test mutates, which cuts resident memory substantially on large suites. The wasm build keeps its SQLite template on disk to fit the 4 GiB linear-memory cap. System.EventBus.publishWithAccessLevel. Platform events can be published under an explicitAccessLevel.EventBus.publishruns inUSER_MODEfor callers on API version 67.0 or later andSYSTEM_MODEfor earlier versions, matching the Summer ‘26 change.- Schema build caching. Assembled schemas are fingerprinted from the
metadata source directories and cached between runs. An age-based garbage
collector removes stale cache entries, configurable through
AER_CACHE_MAX_AGE,AER_CACHE_MAX_BYTES, andAER_CACHE_GC_INTERVAL, and a newaer cachecommand (info,prune,clean) manages the cache.
Correctness fixes
- SObject field writeability. False “Field is not writeable” errors on system fields that are writeable in memory are fixed. A share object’s manual-sharing fields are writeable unless the shared object’s sharing model is Controlled by Parent.
- Platform-defaulted required fields. Inserts that omit non-nillable
fields the platform populates now succeed instead of failing with
REQUIRED_FIELD_MISSING:FeedItemflags and counts,EmailMessageflags andStatus,AiJobRun.Status, Territory2 access levels, and similar fields. - FeedItem inserts populate the audit timestamps and derive
Type, fixingLAST_N_DAYSfiltering. - Change Data Capture
*ChangeEventobjects. Every field is settable when building a test event except auto-number, calculated, formula, and rollup fields.EventBus.publish()of a constructed change event raises the “External Object Error” only when Change Data Capture is disabled. AfterTest.enableChangeDataCapture(), publishing succeeds without counting against DML limits, andTest.getEventBus().deliver()andTest.stopTest()fire the change event’s after-insert trigger. - SOQL string literals of 4000 or more characters raise a
QueryException, matching Salesforce. - Unified schema loading. The
test,exec, andservercommands load schema through one walker that reads both source and metadata format, so the server resolves bare.mdcustom metadata records and embedded list views the same way the test command does. - Namespaced governor-limit reporting. Limit exceptions raised in
managed-package code are prefixed with the controlling namespace, for
example
myns:Too many SOQL queries: 201, and governor limits are always enforced during test execution on the server.
The 1.2 patch releases
Forty patch releases, v1.2.1 through v1.2.40, followed between June 25 and August 27, 2026. Together they contain 423 changes. Among the larger ones:
- Duplicate rules are enforced during insert and update DML, including the fuzzy name, company, and address matching algorithms (v1.2.31, v1.2.33, v1.2.34).
- Multi-step approval processes run from
approvalProcessesmetadata, with entry criteria and field update actions (v1.2.30, v1.2.36). - Workflow rules run at the correct stage of the save order on every DML path (v1.2.30).
- ConnectApi Chatter feeds, groups, topics, following, and profile photos are backed by storage (v1.2.29, v1.2.30).
- Health Cloud, Survey, Omni-Channel, and Workplace Command Center objects,
and a new
Divisionfeature (v1.2.29, v1.2.31). - Triggers at API version 67.0 or later default to user context, and
USER_MODEqueries enforce field-level security onWHERE-clause fields (v1.2.35). MIXED_DML_OPERATIONis enforced, andUserDML is gated on the Manage Users permission (v1.2.40).- Loading a source directory, startup, and permission checks are faster, and
aer testreports what it is doing during a long startup (v1.2.30, v1.2.36).
Each patch release is listed in full in the CHANGELOG.