Releases: FastComments/fastcomments-java
Releases · FastComments/fastcomments-java
v1.3.5
Bug Fixes
- Fixed
OffsetDateTimeparsing in WebSocket live events. Gson's default handling didn't supportOffsetDateTime, so a custom deserializer is now registered.
Improvements
- WebSocket client refactoring - the
OkHttpClientused for WebSocket connections is now built via a dedicated factory method with configurable ping intervals, and a shared statichttpClientis used for HTTP polling (event log
fetches) to avoid connection pool conflicts. - Configurable ping intervals - default ping interval is 25s; a
createTesting()factory method provides a 5s ping interval for Android emulator / aggressive NAT environments. - Forced HTTP/1.1 protocol negotiation to reduce latency (server is HTTP/1.1).
Full Changelog: v1.3.4...v1.3.5
v1.3.4
- Fixing optional field validation in sanitizer (openapi generator bug)
- Improved error logging in websocket client
- Changed pinging methodology in websocket client, tuned for annoying NATs (60s -> 25s ping interval, etc)
- Renamed some LLM-related credit fields in billing objects
- Java 25 support for build
Full Changelog: v1.3.2...v1.3.4
v1.3.2
1.3.1
What's Changed
Ticketing System
- Added full Tickets API support: create, retrieve, list, and change ticket state
- New models:
APITicket,APITicketDetail,APITicketFilewith file attachment support - New config options:
ticketBaseUrl,ticketKBSearchEndpoint,ticketFileUploadsEnabled,ticketMaxFileSize,ticketAutoAssignUserIds
Terms of Service Support
- Added
TOSConfigmodel for configurable Terms of Service - Added
tosAcceptedAtfield onFCommentandCommentDatato track TOS acceptance per comment
User Model Enhancements
- Added
backupEmail,pendingBackupEmail,isSiteAdmin,isEmailSuppressed - Added notification frequency controls:
notificationFrequency,adminNotificationFrequency - Added notification tracking:
lastTenantNotificationSentDate,lastReplyNotificationSentDate
Mention & Search Improvements
- New
MentionAutoCompleteModeenum for configuring mention autocomplete behavior - Added sectioned user search via
SearchUsersSectionedResponse,UserSearchSection,UserSearchSectionResult searchUsersendpoint now accepts optionalsearchSectionparameter
Account Notifications
- New
HeaderAccountNotificationmodel HeaderStatenow includesaccountNotifications
Configuration Additions
disableProfileComments,disableProfileDirectMessages,widgetQuestionShowBreakdownoptions
User Subscriptions
- New
UpdateAPIUserSubscriptionDatamodel andUpdateSubscriptionAPIResponse
Enum Type Fix
- All integer-based enums (
CommentLogType,NotificationType,CommentHTMLRenderingMode,DigestEmailFrequency,VoteStyle,SSOSecurityLevel, and others) now use nativeIntegerinstead ofBigDecimal
Release 1.2.0
Fixes vote response objects to be properly typed.
Release 1.1.0
Adds: email-templates, hash-tags, moderators, notification-count, notifications, pending-webhook-events, question-config, question-results, tenant-daily-usage, tenant-packages, tenants, tenant-users, users, votes
Release 1.0.0
- BUMP MAJOR: This release contains breaking changes to generated models and API signatures; version bumped to 1.0.0.
- Replace ImportedAPIStatus enums with a single APIStatus schema and type; updated all references across models and responses.
- Introduce new high-level API model types: APIComment and APICommentBase (replaces many PickFComment* shapes) — comment representation refactor with many fields re-typed/nullable/relocated.
- Add comment audit and log models: CommentLogData, CommentLogEntry, CommentLogType; FComment.logs and related schemas updated to use CommentLogEntry objects instead of raw arrays.
- Add repeat-check enums and types: RepeatCommentHandlingAction and RepeatCommentCheckIgnoredReason.
- Add APIAuditLog model and replace old PickTenantAuditLog* usage throughout (including docs/tests).
- Add DeletedCommentResultComment model and use it in delete responses (PublicAPIDeleteCommentResponse, DeleteCommentPublic200Response, etc.).
- Add PubSubCommentBase and PublicCommentBase models and refactor PubSubComment/PublicComment to use these base schemas; many fields moved, made nullable, or had types changed.
- Add SetCommentTextResult model and use it for set-comment-text responses; update PublicAPISetCommentTextResponse and SetCommentText200Response.
- Add UpdatableCommentParams model and replace PickAPICommentUpdatableCommentFields; update DefaultApi.updateComment method and its request/response handling to use UpdatableCommentParams (parameter rename in examples/docs/tests).
- Add many new properties in API shapes and OpenAPI: CustomConfigParameters.noNewRootComments; PatchPageAPIResponse.commentsUpdated; APICreateUserBadgeResponse.notes; and others.
- Remove many generated Pick* helper classes and ImportedAPIStatus* enum classes; corresponding JSON/type adapter registrations removed or replaced.
- Update PublicComment/APIComment/PubSubComment/FComment schemas: restructured required fields, added/removed/nullable adjustments (e.g. date field handling, userId typed via UserId alias, domain typed via FDomain alias, many nullable updates for votes/flags/viewCount/displayLabel/rating/etc.).
- PubSubComment schema and docs reorganized (date moved, comment/commentHTML ordering adjusted, many fields retyped/moved); PubSubCommentBase introduced.
- JSON (gson) registration updated: register new CustomTypeAdapterFactory entries for all added models and remove adapters for removed Pick*/Imported* classes.
- OpenAPI (openapi.yaml / openapi.json) updated: references to ImportedAPIStatus.* replaced with APIStatus; removed old imported status enums; added new schemas (APIAuditLog, APICommentBase, CommentLogData, CommentLogEntry, CommentLogType, PubSubCommentBase, PublicCommentBase, SetCommentTextResult, UpdatableCommentParams, RepeatComment* enums); adjusted examples and properties across many components.
- Docs (.md) regenerated: many docs added/renamed (APIAuditLog, APIComment, APICommentBase, CommentLogData, CommentLogEntry, CommentLogType, DeletedCommentResultComment, PubSubCommentBase, PublicCommentBase, RepeatCommentCheckIgnoredReason, RepeatCommentHandlingAction, SetCommentTextResult, UpdatableCommentParams, etc.) and many references in README.md updated to reflect new model names.
- DefaultApi.java updated: method signatures and internal variable names changed to accept UpdatableCommentParams for updateComment; request builders, validators, and examples updated accordingly.
- Multiple model classes updated to use APIStatus and other new types (APIEmptyResponse, APIError, BlockSuccess, ChangeCommentPinStatusResponse, etc.).
- Many model classes had fields added/removed/changed (examples: APICommentBase, PubSubCommentBase, PublicCommentBase, FComment, PatchPageAPIResponse, APICreateUserBadgeResponse, CommentLogData) — validations and JSON (de)serialization logic updated accordingly.
- Tests updated: numerous model tests renamed/added/adjusted to match new model names and properties (APIAuditLogTest, APICommentBaseTest, APICommentTest, CommentLogDataTest, CommentLogEntryTest, CommentLogTypeTest, DeletedCommentResultCommentTest, PubSubCommentBaseTest, PublicCommentBaseTest, SetCommentTextResultTest, UpdatableCommentParamsTest, and more). Many test imports updated from old enums/types to APIStatus or new models.
- Removed legacy anyOf/union types and VoteDeleteResponseStatus/VoteResponseStatus updated to use APIStatus and String where applicable; VoteDeleteResponseStatus model removed and validation simplified to APIStatus.