What's Changed
- New Community Article: "https://abp.io/community/announcements/announcing-abp-10-2-stable-release-x47ytfww#gsc.tab=0"
- Update version for nightly build 10.2.0preview by @skoc10 in #24511
- Use frozen collections where suitable by @MarkCiliaVincenti in #24373
- Improve entity history handling for shared types and JSON by @salihozkara in #24519
- Update post.md by @irem1demirci in #24527
- Assume that the
Unspecified datetimeis user's local time zone. by @gdlcf88 in #24049 - Refactor token validation in CookieAuthenticationOptionsExtensions by @maliming in #24526
- Add new version for 10.0.2 by @skoc10 in #24546
- Documentation: Fix quartz cron expression by @LEIRONGHUA in #24576
- AI guideline documents for Cursor and Copilot by @ismcagdas in #24563
- Update version header to include a checkmark by @enisn in #24587
- Update ABP Studio Overview documentation with new AI features by @ismcagdas in #24593
- docs: Add SEO descriptions (from PR 24602) by @github-actions[bot] in #24603
- docs: Add SEO descriptions (from PR 24604) by @github-actions[bot] in #24606
- v10.1 RC Announcement Blog Post by @EngincanV in #24581
- Add article on Async Chain of Persistence Pattern by @fahrigedik in #24605
- Delete .github/pr-review.instructions.md by @maliming in #24624
- Update conclusion on persistent messages and scalability by @fahrigedik in #24637
- vs-internal-issue-#7835 localization by @ahmetcelik05 in #24628
- docs(account): update and complete Turkish translations by @fsmarslan in #24654
- feat(core): use environment defaultResourceName as fallback for localization - Issue 24402 by @fahrigedik in #24589
- Create 2026-01-16-meet-abpio-at-ndc-london-2026 by @irem1demirci in #24664
- Relocate article file for NDC London 2026 by @MansurBesleney in #24665
- Update MongoDB.Driver package version to 3.6.0 by @maliming in #24667
- Add extensible table row detail feature by @fahrigedik in #24636
- Refactor setting management to use @angular/aria tabs - issue-24565 by @fahrigedik in #24623
- Add ClientResourcePermissionValueProvider implementation by @maliming in #24515
- Fix aria dependency error by @fahrigedik in #24694
- Add ambient auditing disable/enable support. by @maliming in #24718
- Add article on how AI is changing developers by @maliming in #24740
- Angular Aria Implementation for ABP Packages - Issue 24684 by @fahrigedik in #24689
- Angular - Updating the theme documents for the footer customization by @sumeyyeKurtulus in #24758
- Add correlation ID support to RabbitMQ's JobQueue by @maliming in #24755
- Angular - Applying the latest migrations - Issue 24564 by @fahrigedik in #24579
- Remove unused template and NgStyle import by @fahrigedik in #24763
- Angular - Updating the
@angular/ariaversion to 21.1.x by @sumeyyeKurtulus in #24769 - Support auditing and history for complex properties by @maliming in #24767
- Angular - Hybrid localization support by @erdemcaygor in #24731
- Create post.md by @irem1demirci in #24785
- Revise media links and images in post.md by @MansurBesleney in #24787
- Use Vitest for library schematics tests by @fahrigedik in #24788
- Update post.md by @irem1demirci in #24792
- Update post.md by @irem1demirci in #24793
- Remove trailing periods from Feature title. by @maliming in #24795
SetBrowserRequestStreamingEnabledin wasm mode. by @maliming in #24794- feat(angular): Migrate to signal queries by @fahrigedik in #24765
- Add GitHub Actions workflow to automate ABP Studio documentation updates by @skoc10 in #24802
- fix(workflow): improve payload validation in update-studio-docs workflow by @skoc10 in #24804
- refactor(workflow): streamline payload validation and enhance release… by @skoc10 in #24811
- Refactor(workflow): enhance payload validation and improve documentat… by @skoc10 in #24817
- [WIP] Add step to fetch latest stable ABP version by @Copilot in #24821
- Feat(workflow): add step to fetch latest stable ABP version and updat… by @skoc10 in #24818
- Add version 10.0.3 to latest-versions.json by @skoc10 in #24825
- Add workflow_dispatch inputs for studio docs update by @skoc10 in #24827
- Refactor release notes handling in workflow by @skoc10 in #24830
- Refactor AI notes handling and version mapping extraction by @skoc10 in #24832
- Enhance release notes processing with aggressive cleaning by @skoc10 in #24834
- fix(): german translation for tenant related strings by @nebula2 in #24837
- Concurrently retrieving configuration/localization info in
MvcCachedApplicationConfigurationClient. by @maliming in #24838 - Add multi-agent system article and images by @fahrigedik in #24840
- feat(angular): Migrate to output functions by @fahrigedik in #24766
- Rename image and update markdown link by @fahrigedik in #24847
- Increase max full-name length limits to 512 by @maliming in #24846
- New article: "Using OpenAI's Moderation API in an ABP Application with the AI Management Module" by @EngincanV in #24853
- Apply PR review feedback: Use runtime model configuration instead of hardcoded value by @Copilot in #24854
- Add article: EF Core multiple global filters by @enisn in #24867
- Add unit tests for ToCamelCaseWithNamespace method by @Copilot in #24878
- fix: Resolve JS proxy namespace mismatch for multi-segment company names by @enisn in #24877
- Angular - Implementing the CMS Kit module features by @sumeyyeKurtulus in #24234
- Multi-Tenant Account Usage: Shared user accounts by @maliming in #24456
- add required policy to ActionApiDescriptionModel by @tntwist in #24870
- feat(angular): Migrate to signal input functions by @fahrigedik in #24777
- Make inputId optional in FormInputComponent by @fahrigedik in #24883
- Migrate ABP Angular templates to Vitest as the default testing framework - Issue 24714 by @fahrigedik in #24725
- Angular - Fixing the nightly build error for partial compilation by @sumeyyeKurtulus in #24887
- Referral localization by @ahmetcelik05 in #24885
- Add lowcode JSON schema definitions by @salihozkara in #24893
- Add version 10.1.0 to latest-versions.json by @skoc10 in #24884
- Prevent Privilege Escalation: Add Assignment Restrictions for Roles and Permissions by @maliming in #24775
- Add ABP Framework 'Hidden Magic' article by @enisn in #24897
- Update article by @enisn in #24900
- Make OrganizationUnitManager.FindChildrenAsync virtual by @Copilot in #24901
- Update template projects migrations. by @maliming in #24902
- Fix the vulnerable npm packages. by @maliming in #24703
- Fix OIDC security requirement in AddAbpSwaggerGenWithOidc by @alvstw in #24915
- Update TickerQ package versions and refactor background job management by @maliming in #24916
- Improve FindAsync method to handle entity attachment and state manage… by @ugurozturk in #24913
- Fix: Restore NgStyle import in PermissionManagementComponent to fix tree indentation by @Copilot in #24922
- v10.1 Release Post by @EngincanV in #24923
- Update release announcement for ABP 10.1 by @EngincanV in #24924
- Angular - Documentation for hybrid localization by @erdemcaygor in #24819
- Upgrade to Blazorise 2.0. by @maliming in #24906
- Fix typo in FindByEmailAsync method name by @maliming in #24929
- Implement single active token providers for email change, email confirmation, and password reset by @maliming in #24926
- Angular - Fixing the aria version for the setting management by @sumeyyeKurtulus in #24930
- Update auto PR workflow to merge dev with rel-10.2 by @skoc10 in #24933
- Update version to release 10.2.0-rc.1 by @skoc10 in #24935
- Create v10.2 migration guide by @EngincanV in #24938
- Switch to the user's tenant in
AbpSignInManager. by @maliming in #24942 - Recreate FormData after beforeSubmit mutates form by @maliming in #24946
- Update AI Management Module documentation for new v10.2 features by @EngincanV in #24941
- Update release related docs after v10.2 by @Copilot in #24957
- Update release related docs after v10.2 by @EngincanV in #24956
- Include submitter data in FormData on submit by @maliming in #24959
- Update v10.2 migration guide by @EngincanV in #24961
- Enhance ai-management module images by @EngincanV in #24966
- AI Management - RAG documentation by @enisn in #24968
- Angular - Updating the latest migration document (v10.2) by @sumeyyeKurtulus in #24972
- Replace custom tabs with NgbNav; add NgbNavModule by @fahrigedik in #24980
- Fix permission checkboxes become disabled after being selected in Blazor UI by @maliming in #24952
- Remove redundant "Permissions" heading from resource permission management modals by @Copilot in #24977
- feat: Add
IsAvailableAsyncto resource permission management providers by @maliming in #24951 - Upgrade MongoDB.Driver from 3.6.0 to 3.7.0 by @maliming in #25003
- Update release notes for v10.1 stable version by @EngincanV in #24927
- docs: Add @volo/ai-management NPM package requirement to ABP 10.2 migration guide by @Copilot in #25013
- Make workspace data source uploads configurable by @enisn in #25012
- Angular - Updating the migration guide for node.js version information by @sumeyyeKurtulus in #25018
- Angular - Fixing the change detection problem in for directive by @sumeyyeKurtulus in #25016
- Add Modular Monolith Tutorial - Issue 20827 by @fahrigedik in #24953
- Low code docs by @salihozkara in #25021
- Remove permissions header in permission form by @fahrigedik in #25002
- Angular - Adding a busy state for the blog modal to prevent doubled requests by @sumeyyeKurtulus in #25030
- Update version to release 10.2.0-rc.2 by @skoc10 in #25037
- Remove LC links from docs navigation by @salihozkara in #25044
- feat: add Claude Code skills. by @maliming in #25041
- improve: preserve doc preamble and normalize
-previewversion inupdate_dependency_changesscript by @maliming in #25056 - fix: only enable browser request streaming over HTTPS in
AbpBlazorClientHttpMessageHandlerby @maliming in #25064 - fix: resource permission definition bugs in cache and event notification by @maliming in #25017
- fix: OIDC schema mismatch in
AddAbpSwaggerGenWithOidcby @maliming in #25071 - docs: clarify AI Management upload hosting limits by @enisn in #25076
- Remove bottom padding from modal header by @fahrigedik in #25070
- fix: initialize
ProfileManagementPageCreationContextinOnPostAsyncofManageModelby @maliming in #25067 - Angular - Aligning the vite version by @sumeyyeKurtulus in #25085
- fix: avoid spacing for hidden MVC inputs by @enisn in #25095
- Add Ollama setup and model pull instructions by @enisn in #25100
- Blazor - Adding
popper.jsdependency for bootstrap package by @sumeyyeKurtulus in #25098 - Update maui document to mention adb tool by @EngincanV in #25097
- Fix FluentValidation not working with
ConventionalControllersby @maliming in #25105 - Update version to release 10.2.0-rc.3 by @skoc10 in #25111
- docs: clarify ABP Suite usage after Mapperly migration by @enisn in #25125
- Angular - Fixing the
ExtensibleLimitedResultRequestDtoextention class by @sumeyyeKurtulus in #25117 - Upgrade Scriban to 6.6.0 by @maliming in #25122
- docs: explain external user lookup for Identity and CMS Kit by @enisn in #25118
- Change header format for OpenAI-Compatible API section by @EngincanV in #25135
- Set default MaxDepth for all AutoMapper maps to mitigate GHSA-rvv3-g6hj-g44x by @maliming in #25138
- Update ABP Studio version mapping table by @skoc10 in #25145
- Update release notes for ABP Studio version 2.2.3 by @skoc10 in #25148
- Fix stdout/stderr deadlock in CmdHelper.RunCmdAndGetOutput by @enisn in #25155
- Update release notes for version 2.2.4 by @skoc10 in #25158
- Update ABP Studio version range for 10.1.1 by @skoc10 in #25159
- docs: clarify ABP Suite usage after Mapperly migration by @enisn in #25124
- Update version to release 10.2.0-rc.4 by @skoc10 in #25167
- Upgrade Scriban to 7.0.0 by @maliming in #25170
- Update version to release 10.2.0 by @skoc10 in #25178
New Contributors
- @fsmarslan made their first contribution in #24654
- @alvstw made their first contribution in #24915
- @ugurozturk made their first contribution in #24913
Full Changelog: 10.1.1...10.2.0