Skip to content

Releases: mk6i/retro-aim-server

v0.14.0

10 Dec 03:47
Compare
Choose a tag to compare

What's new?

screenshot of AIM privacy settings

  • RAS now includes robust support for Permit/Deny functionality. This is a significant improvement from prior versions, where the only privacy feature was to block individual users. These new visibility features work seamlessly between client-side and server-side buddy lists. You can now:
    • Allow communication only from users on your buddy list.
    • Only allow specific contacts on an allow list.
    • Block everybody if you wanted!

Changelog

  • 6cef441 reinstate buddy arrivals at signon
  • 0189734 don't send departure notifs to blocked users at signon
  • a4604bc fix broken QIP login sequence
  • 65ef0fe make setting client-side pd mode idempotent
  • 62d24c0 update dependencies
  • 9c34d4c implement permit/deny foodgroup

v0.13.0

10 Nov 02:42
Compare
Choose a tag to compare

What's new?

screenshot of AIM 1.8

  • Full Support for Windows AIM 1.x Clients!
    …except for version v1.7.486.

  • Chat Dice Roller is Back! 🎲
    Spice up your chats with the in-chat AIM dice roller. Try your luck with:

    • //roll (default 2x 6-sided dice)
    • //roll-sides8 (custom side count)
    • //roll-dice3 (custom die count)
    • //roll-sides3-dice2 (set both side and die count)
  • Graceful Exits for Clients:
    AIM now logs off smoothly when the server shuts down or another client signs in with the same screen name.

  • Streamlined Configs:
    The FAIL_FAST option has officially left the chat! Cleaner configs ahead.

Changelog

  • 3ec2aba Update README.md
  • 4efe8ed Update README.md
  • 2ebaaf2 Update README.md
  • 1c7cc69 force shutdown if connections don't close
  • 9665333 fix crash at login in AIM 1.7.563-1.1.8.924
  • 1762cf2 issue #23 - add roll dice chatroom support
  • 457f8ed make chat room lookup case-insensitive
  • d4b86c1 mgmt api: unescape ampersands in gochat URLs
  • 093cd2a implement UserLookup food group
  • f43386c remove FAIL_FAST from systemd config
  • 1f0e0a1 remove FailFast config
  • 8a43ff6 upgrade dependencies, mocks
  • 7d9091d improve connection management, refactor main pkg
  • 647b677 issue #70 - stop prematurely removing chat session manager records
  • 21e249f issue #69 - don't sign out BOS session on admin svc disconnect

v0.12.0

26 Sep 01:49
Compare
Choose a tag to compare

What's new?

screenshot of AIM interests keywords menu

  • Make your account searchable in the AIM directory by setting your contact info and interest keywords in the profile editor. Be sure to read the setup instructions for configuring search keywords for your users to select.

Changelog

  • c9edc69 fix internal server error on macos client
  • fac5e74 add powershell examples to additionals setup doc
  • c4e0ac6 implement SNAC(0x02,0x0C) - LocateGetDirReply
  • cef0bfd revert OSCAR_HOST
  • bd125a5 refactor InfoQuery
  • 2b88cb4 fix doc typo
  • 4126914 update to goreleaser v2.3.2 (incl go 1.23.1)
  • c5bdd2c document keyword setup
  • f2d4949 fix ODir bugs
  • 92c37bc implement ODir food group / user directory search
  • 7425ba0 upgrade sqlite dependency
  • 4e13afa upgrade sqlite dependency

v0.11.0

05 Sep 02:03
Compare
Choose a tag to compare

What's new?

  • Issue #56 - Chat rooms now work in AIM 4.0.9 for macOS 8/9.
  • Issue #42 - New endpoints for retrieving user status, away message, buddy icon, etc.
  • New management API endpoints for retrieving user status, away message, buddy icon, etc.
  • Various improvements to the user experience of building, configuring and running the application.

Changelog

  • 44c696d documentation update
  • 279504a replace native sqlite driver with pure go driver
  • bb42dce load env file at application startup
  • ed705e7 fix chat room crash in aim 2.0
  • 5cc3a60 support user search and icq2000->icq2001 user auth
  • ebe48cf Merge pull request #63 from jgknight/mgmt-api-version-endpoint
  • a85a4b3 Merge pull request #62 from jgknight/mgmt-api-bugfix-content-type
  • 79b20ab Add /version endpoint and --version cli flag
  • 699075e Bug fix for non-gif buddy icons
  • 2e0cf41 Merge pull request #61 from jgknight/mgmt-api-user-details
  • 79d73de Update mgmt api and buddy unit tests
  • d369eb4 Mgmt api improvements
  • dece73f use a proper display screen name in RegisterBOSSession test
  • 94af959 fix regression in admin service
  • fac3fb8 upgrade mocks
  • 2c9cf04 correct ICQ struct prefix
  • bbe48be fix buddy departure events in macos aim v4.0.0
  • 574b262 issue #56 - fix chat rooms in macOS AIM 4.0.9

v0.10.0

19 Aug 03:11
Compare
Choose a tag to compare

What's new?

  • Issue #13 - Retro AIM Server now supports ICQ 2000b! Most core features are supported, including messaging, presence, offline messages, user profiles, and user directory search. Get started today.
  • Issue #55 - Fixed a regression that caused AIM 4.xx for macOS 8/9 to hang during the login sequence..

Community Updates

  • @ukozi created and open sourced RASman, a SwiftUI-based macOS app for managing the RAS backend.

Changelog

  • b0c943a documentation tweaks
  • 992caa6 implement SNAC(15,02)/07D0/04BA - short user info
  • 784cdac release drafts by default
  • f967e85 issue #60 - make service request return bos cookie
  • 9b3d49e implement ICQ offline messages
  • 02dd53c fix instances where isICQ is not set/read
  • 7b4138e determine UIN by checking numeric screen names
  • 3d26ddb issue #13 - support icq 2000b
  • 353888e validate screen name when logging in with auth disabled
  • 14f7ca1 small password validation refactor
  • 4173088 update password validation rules based on jgknight feedback
  • a5f9920 implement screen name/password validation
  • 4a7151f add user handle/password validation
  • f77e293 set status bitmask on session from SetUserInfoFields
  • 71984cf append user info flag TLV to buddy departure events
  • 83319d3 fix go vet error
  • 835c383 stop reading/writing null byte for empty strings
  • f5202c9 integrate ICQ into session mangagement
  • 58f68d7 return correct auth error codes for icq/aim
  • fa33cdf wire: handle marshalling null-terminated strings
  • 899663f supply full user info in ICBMChannelMsgToClient
  • 99d72d1 issue #55 - stub PermitDeny subgroup handlers

v0.9.0

15 Jul 03:23
Compare
Choose a tag to compare

What's new?

  • Screen name formatting can be changed within the AIM client.
  • Connecting to chat rooms works in Pidgin.
  • Users can set their email address, confirm their account, and store privacy preferences. Note: privacy preferences do not take effect yet. (#50)
  • All required struct marshaling features for handling ICQ protocol messages have been implemented. ICQ support will begin in the next release.

Note for Windows Users

Windows Defender has recently started to flag and delete the RAS executable upon running. You will need to add an exception to Windows Defender in order to run RAS.

Changelog

  • 20fc3e5 fix typo in migration rollback
  • 3a3bc85 issue #48 - fix chat in pidgin client
  • 966f115 wire: add little-endian struct marshalling
  • 723e8cc optional struct tag for SNAC(0x01,0x10) evil notif
  • ef3b784 wire: add optional struct tag
  • 495f33e use len_prefix for FLAP frame buffer
  • f5edf66 Merge pull request #50 from jgknight/additional-admin-functions
  • acc373a Update unit tests for additional admin changes
  • 27e1983 Additional admin functions
  • 91a5d3b fix go vet error
  • c38ae1a wire: add struct length prefix struct tag
  • 5241751 remove TestAuthService_RegisterBOSSession_SessionNotFound
  • f07c787 fix buggy revert migration
  • a6b3794 mgmt api: add user ID to repsonse body
  • 107c6d3 Merge pull request #47 from jgknight/fix-missing-chatroom-disconnect
  • 23cbee7 Update ChatNav unit tests
  • 21a4ca2 Add chatroom example API calls to readme
  • 6ff7bbe Send ChatNavError SNAC for common chatroom errors
  • ca2b8e5 Merge pull request #46 from jgknight/admin-send-oservice-userinfo
  • b20e60a Send OServiceUserInfoUpdate when formatting screenname
  • 840ca35 Merge pull request #45 from jgknight/admin-service-formatsn
  • b7280a4 Add admin service unit tests
  • ca64417 Add admin service and screenname formatting

v0.8.0

29 Jun 03:01
Compare
Choose a tag to compare

What's new?

  • The server has a concept of a public and private chat exchanges. Operators can create public chat rooms using the management API.
  • Users can join existing chat rooms using AIM URLs. For example: aim:gochat?exchange=4&roomname=my+chat+room.
  • A new management API endpoint for programmatically sending IMs from/to any users.

Changelog

  • b4e8f88 chores
  • 46b3156 issue #44 - add endpoint for sending IM
  • aa3b21f update deps
  • ce63818 impl public chat exchange and persistent rooms
  • 2201e12 remove bart flags check from RetrieveItem.RetrieveItem
  • 92b6d8a Merge pull request #43 from jgknight/fix-evil-screenname-format
  • 23c1d2e Use DisplayScreenName when sending an evil notification
  • b99fada update mock buddy broadcaster
  • 376afae update codecov

v0.7.0

15 Jun 02:46
Compare
Choose a tag to compare

Screen Shot 2024-06-01 at 1 51 34 PM

What's new?

  • Users can create formatted screen names at signup. (The ability to change the format for existing users will be available in the next release.)
  • Fix the INVALID_SNAC gaim error that occurs when loading a buddy icon.
  • Fix crash when warning offline user.
  • Clients use ephemeral tokens to authenticate with BOS and Chat servers. Previously, the static session ID was passed around. This makes session hijack attacks more difficult.

Community Updates

Changelog

  • 79e5f48 encapsulate buddyBroadcaster
  • 51b4d44 encapsulate cookie logic within AuthService
  • e217539 add support for user-defined screen name formatting
  • ca608a1 upgrade github actions
  • 3efdf20 Fix INVALID_SNAC error in gaim when loading icon
  • f95c180 return error SNAC from OService ServiceRequest for unknown SNAC
  • 944cb56 use separate session manager for chat
  • 27c8761 consolidate OServiceService
  • 331b64f converted buddy arrival/departure funcs to methods
  • 77bf07d decouple auth service from bos service
  • 7dc2057 Merge pull request #40 from jgknight/add-evil-offline-unittest
  • fe8db5c Add unit tests for warning offline user
  • d03adfc Merge pull request #39 from jgknight/jgknight/fix-38-warn-crash
  • bf2613f Fix crash when warning offline user

v0.6.0

01 Jun 14:35
Compare
Choose a tag to compare

Screen Shot 2024-06-01 at 1 51 34 PM

What's new?

  • Chat is supported in AIM v2.0-v3.5.
  • The perl library Net::OSCAR now works.
  • User idle time is correctly calculated.
  • Management API hostname and port are configurable.
  • Users can be deleted via the management API.
  • All the types needed to create an OSCAR client are exported in the wire package.

Community Updates

Changelog

v0.5.0

19 May 02:25
Compare
Choose a tag to compare

What's new?

  • Support for additional clients
    • AIM 2.0.1 & 4.0.9 for macOS 8.1
    • Pidgin 2.12.0
  • Corrected Management API documentation for Windows clients
  • It's now less confusing for users to know which executable in the release directory to run
  • Fixes that bring RAS closer to chat support for Windows AIM 2.x and 3.x

Shoutouts

  • @jgknight for helpful input, including suggestion to create Discord server.
  • @siohaza for improving issue reporting process and helping with Pidgin client fixes.
  • @ukozi for assisting with Basilisk II emulator setup and testing macOS client fixes.
  • @clabland for featuring RAS in his excellent Youtube video Homelab Dial-Up. 🎉

Changelog

  • c716ac3 resolve confusion over which executable to run
  • 9a120cd log hostname at application startup
  • fef7f0d fix admin api request docs for Windows PowerShell
  • d56443d feat: create template for feature requests (#22)
  • b162041 replace config.Address with net.JoinHostPort
  • a075fb5 clear up OService user flag and status constants
  • 11f5fd2 issue #14 - implement SNAC 09,03 PD RightsQuery
  • 53ee65e remove redundant key in request log entry
  • 2aca469 implement SNAC 01,1E SetUserInfoFields
  • 34e7946 fix: pidgin connectivity issue
  • 2becefe feat: add bug report template (#15)
  • bd906cd fix "too many open rooms" error in winaim 2.x-3.x
  • 4a847c9 issue #10 - add missing rate limit entries
  • 925d4de Update README.md
  • 278e4d1 Update README.md
  • 7ad9510 update docs