Skip to content

release: merge dev into main#67

Merged
usernane merged 7 commits into
mainfrom
dev
Jun 8, 2026
Merged

release: merge dev into main#67
usernane merged 7 commits into
mainfrom
dev

Conversation

@usernane

@usernane usernane commented Jun 8, 2026

Copy link
Copy Markdown
Member

Summary

Merge all accumulated changes from dev into main for release.

Changes

Breaking Changes and Migration Steps

  • Objects that previously relied on returning null or false from getters to hide properties will now have those properties serialized. Use #[JsonIgnore] for explicit exclusion.

Checklist

  • I reviewed my own diff before requesting review
  • My commits follow Conventional Commits
  • I added/updated tests (or explained why not)
  • I updated docs (if needed) Docs Repo
  • I ran lint/cs-fixer (if applicable) (composer fix-cs)
  • I considered backward compatibility
  • I considered security

Related issues

Closes #54
Closes #57

Ibrahim BinAlshikh and others added 7 commits June 8, 2026 23:51
stdClass objects have dynamic properties that are not visible to
ReflectionClass::getProperties(). Add an early return that converts
them using get_object_vars() so their properties are serialized.

Closes #54
- Remove the null/false filter in JsonConverter::objectToJson() so all
  getter return values are serialized (null becomes JSON null, false
  becomes JSON false).
- Add #[JsonIgnore] attribute (TARGET_METHOD | TARGET_PROPERTY) for
  explicit exclusion of getters and public properties.
- Add tests for both behaviors.

Closes #57
fix: serialize stdClass dynamic properties in Json::add()
…son-ignore

feat!: include null/false getter values and add #[JsonIgnore] attribute
@usernane usernane merged commit f8f2324 into main Jun 8, 2026
8 of 9 checks passed
@sonarqubecloud

sonarqubecloud Bot commented Jun 8, 2026

Copy link
Copy Markdown

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.

feat(encoding): Include null/false getter values and add #[JsonIgnore] attribute bug: stdClass objects are serialized as empty {} by Json::add()

1 participant