Skip to content

ship 3.2.0 release#465

Draft
mesilov wants to merge 104 commits intov3from
v3-dev
Draft

ship 3.2.0 release#465
mesilov wants to merge 104 commits intov3from
v3-dev

Conversation

@mesilov
Copy link
Copy Markdown
Collaborator

@mesilov mesilov commented Apr 29, 2026

Q A
Bug fix? yes
New feature? yes
Deprecations? no
Issues Fix #436
License MIT

Closes #436

mesilov and others added 30 commits April 18, 2026 01:42
…422)

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Add IM placement codes and fluent option builders (#437)
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Require MCP-based PR status poll after every push (#437)
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
…`, `IM_CONTEXT_MENU`, `IM_SIDEBAR`, `IM_TEXTAREA` with updated option builders and typed bindings/unbindings.

Signed-off-by: mesilov <mesilov.maxim@gmail.com>
Signed-off-by: mesilov <mesilov.maxim@gmail.com>
Add a Core rules block to the "Creating a Pull Request" section:
- Agent must auto-create the PR via mcp__github__create_pull_request;
  never forward the pull/new URL as a manual-action prompt.
- PR base branch is fixed by API version: v3-dev for v3, dev for v1;
  never main.
- PR body always composed from .github/PULL_REQUEST_TEMPLATE.md read
  fresh from disk, not a memorised layout.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Implements six REST methods under the im scope:
- add: im.message.add -> AddedItemResult
- update: im.message.update -> UpdatedItemResult
- delete: im.message.delete -> DeletedItemResult
- like: im.message.like (LikeAction enum) -> UpdatedItemResult
- share: im.message.share (ShareType enum) -> UpdatedItemResult
- command: im.message.command -> UpdatedItemResult

Wires IMServiceBuilder::message() cached accessor, adds unit
and integration test suites (integration_tests_im_message),
Makefile target test-integration-im-message, and CHANGELOG
entry under 3.2.0 UNRELEASED.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
…om/bitrix24/b24phpsdk into feature/426-add-im-message-service

# Conflicts:
#	tests/Unit/Services/IM/IMServiceBuilderTest.php
…y-webhook-payload

Bugfix/443 remote events factory webhook payload
Signed-off-by: mesilov <mesilov.maxim@gmail.com>
# Conflicts:
#	CHANGELOG.md
#	phpunit.xml.dist
#	src/Services/IM/IMServiceBuilder.php
#	tests/Unit/Services/IM/IMServiceBuilderTest.php
mesilov and others added 17 commits April 29, 2026 11:11
…adStateItemResult` from REST payloads

- Updated `ChatItemResult`, `DialogUserItemResult`, and `DialogReadStateItemResult` to reflect REST docs-based payload shapes.
- Migrated from `AbstractItem` to `AbstractAnnotatedItem` for enhanced type annotations and runtime type casting.
- Extended SDK generator workflow and added tests to support REST responses for `im.chat.get`, `im.dialog.read`, and `im.dialog.users.list`.

Signed-off-by: mesilov <mesilov.maxim@gmail.com>
- Updated `SKILL.md` and `AGENTS.md` to mandate running `make lint-rector` before reporting tasks as completed, including microtasks.
- Adjusted guidelines to ensure Rector checks are enforced for all implementation tasks.
- Updated changelog to reflect the new requirements.

Signed-off-by: mesilov <mesilov.maxim@gmail.com>
Add IM\Dialog service for im.dialog.* support
# Conflicts:
#	Makefile
#	src/Services/IM/IMServiceBuilder.php
#	tests/Unit/Services/IM/IMServiceBuilderTest.php
- Add UserStatusType enum (online/idle/away/dnd/offline)
- Add UserStatusResult with status(): string accessor
- Add UserStatus service wrapping im.user.status.get, im.user.status.set,
  im.user.status.idle.start, im.user.status.idle.end
- Register IMServiceBuilder::userStatus() accessor
- Add unit test for UserStatus and IMServiceBuilderTest::testGetUserStatusService()
- Add integration test for all four methods
- Add integration_tests_im_user_status suite to phpunit.xml.dist
- Add test-integration-im-user-status target to Makefile
- Update CHANGELOG.md under 3.2.0 Unreleased → Added

https://claude.ai/code/session_015PC3VWnQepqMPssMpMacy6
- Added new fields (`rest`, `web`, `mobile`, `desktop`, `im_revision_mobile`) to `RevisionItemResult`.
- Migrated `RevisionItemResult` from `AbstractItem` to `AbstractAnnotatedItem` for enhanced type annotations and runtime casting.
- Extended generator workflow and added tests to support REST data extraction from `im.revision.get`.
- Updated changelog to reflect changes.

Signed-off-by: mesilov <mesilov.maxim@gmail.com>
Add IM\Revision service for im.revision.get (#434)
# Conflicts:
#	CHANGELOG.md
#	Makefile
#	phpunit.xml.dist
#	src/Services/IM/IMServiceBuilder.php
#	tests/Unit/Services/IM/IMServiceBuilderTest.php
…ot fields in REST payloads

- Updated `CountersItemResult` to include live-verified fields from `im.counters.get`.
- Migrated `CountersItemResult` from `AbstractItem` to `AbstractAnnotatedItem` for improved type annotations and runtime casting.
- Enhanced payload generator to handle direct root fields in the `Returned Data` REST docs table.
- Added integration and unit tests for updated field mappings and generator logic.
- Updated `CHANGELOG.md` to reflect the changes.

Signed-off-by: mesilov <mesilov.maxim@gmail.com>
Add IM\Counters service for im.counters.get (#433)
# Conflicts:
#	Makefile
#	phpunit.xml.dist
#	src/Services/IM/IMServiceBuilder.php
#	tests/Unit/Services/IM/IMServiceBuilderTest.php
…`UserStatusResult::status()`

- Added `UserStatusItemResult` with `STATUS` property backed by `UserStatusType` enum.
- Updated `UserStatusResult::status()` to return `UserStatusItemResult` instead of string.
- Extended `UserStatusType` enum with new `break` status.
- Added unit and integration tests to ensure proper handling of `UserStatusItemResult`.

Signed-off-by: mesilov <mesilov.maxim@gmail.com>
…edItem`

- Introduced generic support for backed-enum casting in `AbstractAnnotatedItem`.
- Removed specialized enum casting logic from `UserStatusItemResult`.
- Added unit tests for enum casting behavior with string-backed, int-backed, and nullable enums.
- Updated `CHANGELOG.md` to document enum-related improvements in `AbstractAnnotatedItem`.

Signed-off-by: mesilov <mesilov.maxim@gmail.com>
Add IM UserStatus service for im.user.status.* methods
# Conflicts:
#	Makefile
#	phpunit.xml.dist
#	src/Services/IM/IMServiceBuilder.php
#	tests/Unit/Services/IM/IMServiceBuilderTest.php
@mesilov mesilov added this to the 3.2.0 milestone Apr 29, 2026
@mesilov mesilov self-assigned this Apr 29, 2026
@mesilov mesilov marked this pull request as draft April 29, 2026 08:17
mesilov and others added 10 commits April 29, 2026 14:29
…rbonImmutable`

Signed-off-by: mesilov <mesilov.maxim@gmail.com>
Add IM User service for im.user.get and im.user.list.get
- Add send() → im.notify (app-context notification)
- Add getList() → im.notify.get with NotifiesResult
- Add historySearch() → im.notify.history.search with NotifyHistorySearchResult
- Add markAllAsRead() → im.notify.read.all with NotifyReadAllResult
- Add getSchema() → im.notify.schema.get with NotifySchemaResult
- Refactor markMessagesAsRead/markMessagesAsUnread to call im.notify.read.list
- Add NotifyItemResult and NotifySchemaItemResult annotated items
- Add unit tests, integration tests, and annotation tests
- Add integration_tests_im_notify PHPUnit suite and make target

https://claude.ai/code/session_01CaVn2RydgouYyCqv1rxChK
Implements im.recent.get, im.recent.list, im.recent.pin,
im.recent.unread, and im.recent.hide via
Bitrix24\SDK\Services\IM\Recent\Service\Recent.

Adds RecentItemResult, RecentsResult, IMServiceBuilder::recent(),
unit/integration/annotation tests, phpunit suite, and Makefile target.

https://claude.ai/code/session_01JU6axyfnTk62HoezmhWfWL
…8-f5LTv

# Conflicts:
#	CHANGELOG.md
#	Makefile
#	phpunit.xml.dist
- Updated `NotifySchemaItemResult` and `NotifyItemResult` annotations to align with live REST payloads.
- Adjusted schema field casing in `NotifySchemaItemResult` to uppercase.
- Refactored unit test naming consistency for `Notify` functionality.
- Fixed `array_values` mapping in `NotifySchemaResult` to prevent issues with schema transformations.
- Enhanced return type variable naming in integration tests for clarity.

Signed-off-by: mesilov <mesilov.maxim@gmail.com>
feat: extend IM\Notify service with missing im.notify.* methods
…onsTest` and update type annotations

- Renamed and reorganized integration tests for `RecentItemResult` into `RecentItemResultAnnotationsTest`.
- Updated `RecentItemResult` with new fields (`last_id`, `has_reminder`, `date_update`, etc.) and improved type annotations.
- Enhanced type safety with consistent property definitions and runtime casting.

Signed-off-by: mesilov <mesilov.maxim@gmail.com>
…ecent.get` payload fields

- Adjusted PHPDoc comments in `RecentItemResult` to match live REST API data structure and magic getter behavior.
- Updated `CHANGELOG.md` with details of the fix.

Signed-off-by: mesilov <mesilov.maxim@gmail.com>
Add IM\Recent service for im.recent.* API support
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Shipping new SDK release]: 3.2.0

2 participants