Releases: sc2-pulse/sc2-pulse
Releases · sc2-pulse/sc2-pulse
1.61.0
What's Changed
- pull batches with 1 concurrency by default by @nephest in #69
- remove old ladder updates by @nephest in #70
- move common SpringBoot beans to a separate config by @nephest in #72
- Change session_user_name type to BIGINT by @nephest in #75
- Optional group cache by @nephest in #77
- Add /user/role/{} endpoint by @nephest in #79
- add audit log for revealers by @nephest in #81
- Fix pro player update by @nephest in #88
- remove blizzard.com profile link by @nephest in #89
Full Changelog: v1.60.0...v1.61.0
1.60.0
Changes
- Migrated to a new java stack.
- java 17.
- SpringBoot 3.
- Tomcat 10.
- New match-up stats
- Significantly tightened max offset of match identification. It's now based on ladder refresh time at the time of the match. This change significantly improves detection of unranked matches.
- Significantly improved IO performance of some stats queries.
- The server now tracks ladder refresh duration.
- Match history now shows underlying decision instead of just w/l.
- New team search option: MMR sorting.
- Search terms are now trimmed on the client side before sending them to the backend.
- Added support of legacy syntax of the
battlenet:://
profile links. - Added selenium test for the discord bot page.
- Spring MD5 based resource versioning.
Fixes
- Fixed a chart bug where annotations are not regenerated after initial creation.
- Fixed some typos.
1.59.0
- Added many new stream filters, including featured streams.
- Added a new
/api/characters/search/advanced
endpoint for fine grained character search. - Added a race filter to the
/api/group/team
endpoint. - The clan search now uses tag prefixes instead of direct matches.
- The
/api/character/summary/1v1
endpoint now supports unlimited depth for single character queries.
1.58.1
- Significantly improved network I/O performance of sc2 ladder scan when the Blizzard API is slow.
- Added a second, more aggressive ladder priority queue:
Prioritized_x2
.- 1v1 dia-gm: 1x.
- 1v1 plat: 4.33x.
- 2v2 dia-gm, 3v3, 4v4, Archon m-gm: 6.5x.
- Other: 13x.
BlizzardPrivacyService
now also updates clans.- New character reports now trigger report status update.
- New application property:
com.nephest.battlenet.sc2.privacy.character.profile.update
. The property controls character updates via bnet profiles. Enabled by default. - New report status priority based on evidence status: confirmed, undecided(new), denied.
- Changed max length of character report evidence: 500->2000.
- Fixed a bug where clan member event were not generated when removing expired clan members.
- Fixed a bug where login attempts returned 500 error when the Blizzard API is broken.
- Fixed a bug where anonymous characters were made anonymous again right after an update due to the old
updated
column. - Fix a bug where account-related data was not rebound when a character was rebound to another account in the
BlizzardPrivacyService
.
1.58.0
Changes
- Added Bilibili support.
- Enabled zoom ctl by default(MMR history).
- Replaced
POPULAR
andRANDOM
featured stream slots withSKILLED
slots. - Added sc2arcade online stats link.
- Changed default sorting order of streams to MMR.
- Increased system priority slot count in
BlizzardSC2API
.
Fixes
- Fixed a bug where non-200 responses were treated as error by the client(browser) in some cases.
- Minor UI fixes.
- Fixed a DB deadlock that prevented character stats from updating.
- Fixed a bug where
MapService
want's properly subscribed to events.
1.57.0
Changes
- New group tab:
Teams
. - New groups:
Player
,Account
. - Player search by clan tag is now case-insensitive.
StatsService
no longer uses improved parser and usesFastTeamDAO
instead, just like theAlternativeLadderService
.- Instant detection of GM demotions.
- Fully compatible with partial updates.
- Added patch boundaries to MMR history, similar to season boundaries.
Best race
filter is now disabled by default(MMR history).- Added discord links to the left panel(desktop UI).
- Bumped dependencies.
- Added borders between queue types in full mode of team table.
- Improved bar chart style. Removed all borders expect the top border. Similar to steam charts except the gradient.
- Added separate Blizzard API redirects for profile-related endpoints(
AdminController
).
Fixes
- Fixed a bug where group matches can't be loaded via input change when
COMPLETED
status is reached. - Fixed NPE in
BlizzardPrivacyService
due to using null reference instead of an empty Map.
1.56.0
Changes
- New search section: stream search. Shows live Twitch streams enhanced with sc2 data.
- Reworked Twitch integration
- 3rd party service user ids were moved to the
SocialMediaLink
entity. - Twitch services now use ids instead of logins.
- Twitch links are validated and updated via Twitch API.
- Proper Reactor stream in the service layer
- Twitch data is now updated only for recently active players.
- 3rd party service user ids were moved to the
- New search section: recent teams. Useful for barcode unmasking and online search.
- Migrated
/teams
API enpoint to theGroupController
. - New group: pro player.
- New team column:
Last played
. - Audit log for revealers. DB level, no API or UI yet.
- Replaced unique arrays in DAO layer with sets.
- Added an option to normalize racial stats deviation from the ideal race distribution mode.
- Selenium tests now run in headless mode in supported browsers(firefox, chromium).
- Changed default race stats to team instead of race.
- DB indexes are now reindexed concurrently in the background in a non-blocking manner.
- Removed linux-specific fonts.
Fixes
- Fixed invalid enums in Swagger UI.
- Fixed a bug where reactor-based tasks could prematurely close the stream due to errors in the service layer, which prevents them from running in the future.
- Fixed a bug where filtered input groups could not be reset in some cases.
- Fixed a bug where new ladders could not be discovered in regions with broken legacy API when new season has already started in another region.
- Fixed a bug where normal 404 responses were treated as errors in some cases.
- Fixed a bug where full alternative ladder discoveries never run.
1.55.0
Changes
- Bumped dependencies.
- Added ProPlayer editor for revealers.
- Chart.js cursor is now implemented via plug-in mechanism instead of controller extension.
ProPlayerService
now uses predictable order, redundant@Retry
logic has been removed.- Improved I/O performance of
LadderProPlayerDAO
. - Aligulac tag, name, and country are now sanitized before validating/saving.
BlizzardPrivacyService
andClanService
now use web API whenAlternativeLadderService.isProfileLadderWebRegion
is active for specific profile region.BlizzardAPI
request cap progress now includes web API data.- Added web request limiter to the composite limiter.
- Added requests per hour endpoints to
AdminController
. - Rps, rph, and timeouts in
BlizzardSC2API
are now persisted viaVar
s. - Added slot priority to reactor rate limiters.
- Significantly improved network IO performance of ladder tasks. Corresponding services now subscribe to update events instead of calling them from the
Cron
service. - All regions in
BlizzardSC2API
now use a single request limiter by default. ReactorRateLimiter
now supports decimal slots.
Fixes
- Fixed a security issue that allowed users to post links via the
/1v1-summary
Discord bot command. - Fixed a bug where some Blizzard API optimizations were disabled.
- Fixed a bug where character reports tag was not shown when
revealed
tag is present. - Fixed a bug where Discord slash command used an old search service. It now uses the same service as the player search on the website, which means you can search players by
battlenet:://
andstarcraft2.blizzard.com
profile links. - Fixed a bug where some player pages returned 500 error code. Play a new match if you page is affected.
- Fixed a bug where MatchService can skip characters when their ladder data was added retroactively.
- Fixed a bug where the global 30s IO timeout was used in
BlizzardSC2API
instead of the local 50s timeout. - Fixed a bug where error 500 is returned in BattleNet data manager is player's characters were not found.
- Fixed a bug where backend and frondent character report constraints were out of sync, which could skip front-end validation in some cases.
1.54.0
Changes
Clan page
- Clan links(clan search, player page) now lead to a new page. In additional to the already existing clan members page, it provides clan stats, match history, and clan history(roster history).
- The UI of the new page features on-demand tab content loading and infinite scroll for paginated/cursor based content.
- Multiple clans can be merged into a single page regardless of their region, tag, or name. Use the new button in the buffer(see screenshots).
- The clan page is uses a new set of API endpoints under the new
GroupController
. It includes previously existing endpoints but with added support for creating arbitrary groups of characters. It currently supports characters and clans. I plan to add more endpoints and groups in the future, such as pro player and account groups, and teams/ladder and versus API endpoints.
Other
- Added support of new Discord usernames(optional discriminator).
- Added missing
region
cursor to match history cursor. - Added
limit
query parameter to match history endpoint. - Added requests per hour cap to Blizzard API.
- New
AdminController
endpoints/status- Regional requests per second caps of the Blizzard API.
- Partial ladder scan.
- Match update frame duration.
- Replaced Reactor
MonoSink
withSinks
. - Alternative ladder scan now discovers new ladders after every update. Complete discovery is done every 8 hours(up from 50 minutes).
- Reduced
CHARACTER_UPDATE_TIME_FRAME
to 4 minutes. - Added partial update support to the main API route.
- Added support of new starcraft2.blizzard.com links. Legacy starcraft2.com links are also supported.
- Web API ladder update route now updates complete 1v1 ladder every 20 minutes, complete ladder every hour.
Fixes
- Fixed a bug where clan name(not tag) would not update even though it was available in the Blizzard API.
- Fixed invalid data types in openapi docs.
- Fixed clan search cursor navigation.
- Fixed a bug where some regions could not be updated at the start of a new season.
1.53.0
Changes
- Clan history(no UI yet).
- New remember-me system. Old tokens from the previous system won't work, users will have to log in again. Users can invaldate all sessions, this feature was built into the previous remember-me system.
- Social media links(twitch, youtube, twitter, discord, instagram) of profiles with liquipedia links are now synced with liquipedia.
- 1v1 race stats now have a
Teams
view in addition to the already existingGames
view. - Streamlined, mobile-friendly UI for reports. Mods have a new
unreviewed-only
filter. - Improved detection of stale data in the legacy Blizzard API.
- Added
Team.lastPlayed
property. - New report type:
ACQUITTAL
. - Removed Spring cache from tests.
- Removed grace period from aligulac clan sync.
- Pro player entities can't expire anymore.
- Added account identification info section.
- Pro player update is now a background task.
- Increased Blizzard API IO timeouts: 30s->50s.
Fixes
- Fixed a bug where users were logged out due to desync of the remember-me series/token pair.
- Fixed a bug where season 0 could be created due to invalid data received from Blizzard API.