VERSION 2.0.0 BETA • RELEASED 2019/06/21


Welcome to the beta version for 2.0.0! I've finished the major parts of the Map Art Collection, after much procrastination. As this is the beta version, the Art Collection isn't feature complete, as I will detail below. If you find any bugs or want to make any suggestions, please leave a post in the Forum and I'll push it to the new version as I make it.

Map Art
• Map Art! Now users can upload to the official Map Art Collection, a link to which can be found at the top of the screen or in the mobile dropdown. After a month of hard work, I've implemented many handy features that will make the site wonderful to use for map art enthusiasts, and with much help from the folks in the official Map Artists of 2b2t, I'm very proud to present what's been finished. Read on!
• The front page of the Art Collection features an infinite scrolling list, a search, and a button to add art. If you are signed in, it will show extra filters about your personal posts
• The search has many filters to single out exactly what you're looking for. You can mix and match filters as you need, and it's all pretty self-explanatory
• After searching, the page will continue to scroll infinitely with your specific search until it reaches a bottom, and show loading icons while it waits to deliver content
• Clicking on the art for any post will open a big window that boldly shows off the art, and organizes all of its information for your reading pleasure
• The add art page requires you to upload to Imgur so I don't have to worry about the cost of storing loads of images. You upload to Imgur and link your image, and most people already have their art there anyway. If largely requested, I will add other sites to be linkable too, but Imgur is fine for now
• When the image loads in, you will be given a draggable and stretchable square to crop your map art, or an option to use the entire image. This took me forever to get right and I'm sure everyone will be happy they don't need to crop old images
• After confirming it looks good, you can add loads of info about the art, including multiple creators, whether it's staircased, an NSFW tag, relevant date information, tags for searching, and more
• When you confirm, the art will pend until a moderator approves it. On the moderation page, a mod can simply approve or disapprove the art, and will be given an option to report the uploader if the art is illegal
• When your art is approved or disapproved, the Curator will send you an alert

There are still things I need to finish, which is why this is the beta version. The uploading, viewing, and searching process is totally done, so I've updated the site for people to stress-test these features while I finish the following:
- Editing posts
- Voting
- Commenting
- Claiming art, basically meaning if you are the creator, you can claim it from the uploader and own it on your own account
- More comprehensive reporting process for inaccurate information on art (currently you can just message moderator, a list of whom is on the home page)

Other general fixes and tweaks
• Added a loading spinner for when the site is working, instead of just stopping and leaving the user clueless. You can see it when submitting a forum post, art post, forum comment, or when the map art page loads
• The home page now shows the most recent top map art (the home page will be redesigned in 2.0.0 to actually look good)
• The user profile page now shows the recent art pieces uploaded by that user
• Implemented a way to force cached JS/CSS files to refresh when I update the site
• Restricted users from naming theirself to the userID of someone else
• Fixed a bug where gifs would not auto-play when opened on the front page
• Fixed a bug where text could stretch outside its box on the homepage
• Fixed a bug where text could stretch outside its box on the user profile page
• Fixed a bug where changing your username would cause certain features to break

After many weeks of building, I'm extremely happy with how this turned out, and will continue to work on this until the final features are done. Expect a new update in a week or two, and I hope you enjoy the art!

VERSION 1.0.3 • RELEASED 2019/04/13


With today's update comes a major and welcome change to the reputation system, some important security changes, and a few bug fixes.

• Updated the reputation system to something everyone has been asking for: now, each tier of reputation will give you multiple comments to leave between wait times. Here's how it works
  • As a new user, you have a default wait time of 10 minutes, and can do 3 actions between that time
  • +5 or -20 reputation reduces wait time to 4 minutes, and increases number of actions in that time to 4
  • +10 or -50 reputation reduces wait time to 2 minutes
  • +25 or -150 reputation reduces wait time to 1 minute, and increases number of actions in that time to 5
• Note that the initial reputation upgrade has been increased from +3 to +5, due to the ability to do 3 actions and get upvoted immediately
• Actions constitute either making a post, commenting on a post, or sending a user a message
• The wait timer starts after the oldest possible action instead of the newest; as in, as a new user, if you comment once 10 minutes ago, then 5 minutes ago, then 3 minutes ago, you will have 2 minutes remaining on your timer from the oldest action, rather than 7 from the most recent action
• New users can now immediately do actions instead of waiting 10 minutes
• Updated login security, if you fail to log in 5 times in a row, you will be locked out of your account for 1 minute. After that, you are given five more attempts, then locked for 1 minute again, ad infinitum
• If you (or someone) fails to log into your account 10, 100, or 1000 times in a row before a new successful login occurs, the Curator will alert you about it
• Touched up the UI on the pages where users can submit data by removing the outer text and using inner placeholders within the actual textboxes instead
• Reduced the size of the top banner from 175 pixels to 125, as it was kind of intrusively large before
• The home page now shows the username of the submitter under the post in the forum section
• Adjusted the CSS separating posts to be cleaner in the forum section of the front page
• Updated the CSS for textboxes to fit more with the site and contrast less
• Updated the verbiage on the fame application page to be a little more coherent
• Fixed an issue where a user had to wait until 1 more than the previous reputation rank to be able to use their new abilities
• Fixed an issue where failing to send a message due to time restrictions on the mail page would show remaining time in milliseconds instead of minutes
• Fixed an issue where some buttons didn't actually look nicer, as described in update 1.0.2
• Fixed an issue where the home page forum posts would be blank sometimes

That's it for series 1.0 of the Collection! I'm very proud of how it is right now, and I'm hoping the site gets a little more use now that the reputation system is less aggressive. This will be the final update before v1.1.0, when I introduce the map art section of the Collection. I'm going to take another week to monitor the site, possibly push a small patch if there are any bugs, then get to building. Thanks everyone!

VERSION 1.0.2 • RELEASED 2019/03/29


I pushed v1.0.1 a little confidently and without as much testing as I usually do, so there were a couple small bugs and forgotten things here and there. So now, I've finished v1.0.2, the bug-less™ version of the Collection, with some other nice new improvements as well.

• Removed some hidden Microsoft AJAX JS files that were slowing down load time by around 150Kb. These weren't needed since I no longer am using JQuery or PageMethods (which are some weird MS version of AJAX), so now the site will load much faster
Actually removed JQuery this time, as I was still loading it in the master page by accident
• Site homepage is now responsive and works on all screen sizes and devices
• Added light line dividers so that posts are more clearly distinguished on the front page
• The word "Forum" in the forum section of the front page is now a link
• When linking to a non-top-level comment in the user profile page, the link takes you to the comment it's replied to, so you can get some context as to what they're replying to
• Made buttons look nicer
• Fixed an issue where the mobile menu dropdown would get too long for a few frames
• Fixed an issue where top-level comments in threads where top-level comments you posted wouldn't appear until after you refreshed the page
• Fixed an issue where the console acted as though the AJAX calls were erroring out during every call
• Fixed an issue where the mail page would download every single mail ever made involving you, now it only grabs the top 50 (will add paging eventually if there is demand)

So now that this is out of the way, I will monitor the site for a week or two, make some small improvements and bug fixes and probably push a v1.0.3, then finally, I will begin to work on the map art collection.

VERSION 1.0.1 • RELEASED 2019/03/27


Hello! Welcome to the changelog, a handy page to document every single change that will be made to the site. Along with the changelog for 1.0.1, I wrote up a full feature list for the first release of the website as well, for the sake of keeping proper documentation. This update features many small new features and changes that will make using the website a more smooth and enjoyable experience.

• Removed JQuery. JQuery is a JavaScript library with lots of handy features that make development easier. The problem is that it's about 103 kilobytes in size, which contributes to about half the load time of each page. In my continuing effort to write as much of the site from scratch as possible, I built my own functions to take the place of JQuery's, so I don't need to rely on a heavy external framework that has to download and parse each time you navigate the site. Now that it's removed, the site should load about twice as fast, and run far more efficiently.
• Minified all the JavaScript files, making a grand total of about 32Kb of JS on the site total. That's fast!
• Created an actual homepage, with a list of recent posts from the forum, the current site moderators, some quick info about the site, and links for navigation to otherwise hidden pages. It's quite empty, and definitely can be improved, so I'd be happy to hear suggestions for rearrangements, redesigns, etc
• Reorganized the user profile screen and added a history list of the previous ten actions of the user you're viewing
• Created a Rules and FAQ page to link to or use as copypasta for mods
• Added paging to the forum. At the bottom of each page is a "next" and "previous" button, to view the next or previous 25 posts. Due to database load limitations, the front, old, and top pages will only show up to 100 total posts (4 pages back), but the new page is capable of viewing every post ever if you keep clicking "next"
• Removed the ModHub link from the bottom of each page, and moved it to the navbar. You can only view it if you're a mod, and if you need to get to the ModHub to apply, you can reach it from a link on the front page
• Adjusted the size of the signin and login buttons as well as the profile, inbox, and logout buttons in the mobile dropdown menu to create more room and look nicer
• Made the "2b2t Collection" logo at the top of the screen clickable, now it redirects to the home page
• Changed "your sent mail" phrasing to "your outbox" on mail screen
• Fixed a bug where you could click the "edit" button multiple times when viewing your own posts and break everything
• Fixed a bug where you could not delete emails in the convo page
• Fixed a bug where clicking the ModHub link without being logged in would redirect you to the home page instead of the login screen
• Fixed a bug where clicking the back button on the user profile right after logging in would just refresh the page, now it takes you to the home screen

Thanks everyone! I'm really proud of how far this has come and how everyone has been contributing. Now that all of these things are finally knocked off the list, I can begin building the map art collection!

VERSION 1.0.0 • RELEASED 2019/03/16


Welcome to the 2b2t Collection! Fun fact, this changelog page was added in 1.0.1, so this post didn't actually exist in the original release. No matter though! Below is a highly-detailed description of every feature on the website, what it does, and how it should work. I will be making these every time I release a new version of the website, so if you like reading random changelogs as much as me, then you'll enjoy the updates this gets. If you'd like to test new versions of the site before they're released, be sure to visit my development site when it's live at https://edudagorot.com. Now, on with the details for the first release!

User System
• Anyone can sign up for an account at anytime, verified with Google Captcha
• Usernames and passwords are salted and hashed securely, and stored in a table separate from normal user info, greatly increasing the difficulty in cracking a password in the event of a database breach
• Usernames can be changed at any time, along with passwords and other profile details, through links on the user's profile
• The user can link their account by simply adding it to the end of "https://2b2tcollection.com/user/"
• When a user signs up or logs in, a cookie with a verification hash and their info is added to their browser
• This verification hash is tested when the user joins any page, so if any tampering is done, they are immediately logged out, returned to the home screen, and the cookie is wiped
• The cookie includes the userID, username, IGN, moderator status, and fame status, which are used to allow users to do various things around the site depending on permission level
• Users can delete their accounts at any time, and when deleting, can choose if they'd like to delete their comments or posts. If they decide to leave them, the username on their comments or posts is changed to "[deleted]"
• Deleted accounts stay within the system so I can track bots and other malicious kinds of users. Unfortunately, if you delete your account, the username that the account had at the time of deletion will be permanently unavailable
• The last 4 characters in your IP are logged on signup and every time you login thereafter. 4 characters is enough for comparison to other accounts, but not enough to be a major security issue if the database is breached

Reputation System
• When a user signs up, they are started with 0 reputation. Reputation is a way to mitigate spam/votebots and let other users know your standing in the community
• You can view your current reputation level on your profile page
• Reputation will never be used to affect major permissions around the site the way moderator and fame status are
• Reputation is attained or removed by other users upvoting or downvoting you
• Permissions granted by getting a high or low enough reputation are as follows:
  • +3 or -20 reputation earns the ability to upvote, and wait time between actions is reduced from 10 minutes to 4 minutes
  • +10 or -50 reputation earns the ability to downvote, and wait time between actions is reduced from 4 minutes to 2 minutes
  • +25 or -150 reputation earns the wait time between actions being reduced from 2 minutes to 1 minute
• Wait time between actions is determined by reputation level as described previously, and "actions" are classified as creating a post, making a comment, or sending mail

Mail System
• A user can view their inbox by clicking the mail icon in their options bar toward the top right of the screen, or through the "Inbox" button in the dropdown when viewing on mobile
• From there, a user can view their outbox with a button at the top, or view conversations with specific users by clicking "view conversation" underneath the message
• A user's inbox contains a list of all of their received mail, a user's outbox is a list of all of their sent mail, and conversations are messages to or from a specific user
• A user can send mail at any time by using the "send someone mail" at the top of the inbox screen, or by clicking "send this user mail" on another user's profile screen
• Deleting mail will only delete it from your view; if you send a message and immediately delete it, the receiver will still be able to use it
• Mail is composed of a subject and body. Both are required in order to send something, and torogamarkdown is applied to the body
• Mail is also used for notifications; if someone comments on your post, or comments on a comment you made, it will be sent to you as mail with links to the comment and the user who made it, as well as the comment body itself
• A server-wide bot called the Curator has been created to send universal notifications, about things such as reputation upgrades or changes in permissions
• The Curator cannot be replied to, for he is a simple bot with a simple purpose
• You can block any user at any time by clicking the "block" button when viewing a message from them. You can unblock them by clicking the "x" in the dropdown at the top right that says "blocked users"
• Blocking a user will automatically hide any mail from them, old or new

Fame System
• Fame is a way to distinguish renowned players of 2b2t from mere commoners
• A player can apply for fame status by clicking the small "modhub" link at the bottom of the screen and filling out an application
• A "major" player has permanently changed 2b2t at some point, while a "minor" player has strongly influenced it in some way. Further details can be found on the application page
• Major fame means your username will be marked with a purple checkmark as official verification of your identity
• Minor fame means your username will be marked with a light blue checkmark as official verification of your identity
• Currently, fame status does not carry any higher level permissions
• You will receive a notification from the Curator when your application has reached a decision, and your profile will update
• Due to security surrounding permissions changing, you will be logged out immediately if your fame status changes

Moderation System
• Moderators can ban users and remove posts or comments
• You can apply to become a moderator by clicking the "modhub" link at the bottom of the screen and filling out an application
• I can view a modlog so I can make sure mods aren't abusing the system. I reserve the right to remove mod status at any time, or permanently ban a mod for getting too out of line
• You will receive a notification from the Curator when your application has reached a decision, and your profile will update
• Due to security surrounding permissions changing, you will be logged out immediately if your moderator status changes

Forum
• The forum is the first major feature of the Collection, and will stand as an uncensored hub of general 2b2t content
• The forum features a complex front page algorithm that scores posts based on their recentness and upvote total
• You can also sort by new, old, or top with a dropdown above the highest post, and each of the four pages only shows the top 25 posts of their respective section
• Post bodies and comments feature a custom function called "torogamarkdown", which acts like basic markdown similar to other forum websites. You can view further details on the post creation page
• A post title can be up to 250 characters long, and a body can be 4000 characters long. You can create a post at any time by clicking "submit a new post" on the right side of the screen, or the top on mobile
• Posts can be marked NSFW if they contain inappropriate content, and will be indicated by a read icon on the front page
• On the post page and forum, if the post body consists solely of an image or YouTube link, it will automatically embed. The front page has special icons indiciating the type of post as well before it's expanded
• Currently the only linkable image types are those ending in .png, .jpg, .gif, or .gifv
• Images and videos are not downloaded prior to expanding them on the forum page, to increase load times
• Posts have their own pages with comment sections, where users can leave comments on the post and each other
• Comments are sorted by the highest upvote score. Comments with the same score are ordered oldest first
• Comments can be permalinked, meaning if you click the "permalink" button under them, you will be taken to a page where that comment is alone in the comment section, and the conversation happening as children of that comment is shown
• Comment chains have no technical limit, and after 10 chained comments, a link will appear to continue reading that specific thread
• Voting can be done on comments and posts from either the forum or post page
• If a post is an image and marked NSFW, it will be blurred out and grayscaled, and the user will be asked to click it to reveal it
• Posts and comments can be edited at any time by their poster, by clicking the "edit" button underneath the post/comment
• If an edit is made within 5 minutes, it will not be marked as edited. Otherwise, an asterisk will appear next to the time indicator on the post/comment, and when moused over, will indicate how long ago the most recent edit happened
• Posts and comments can be deleted at any time. Note that deleting a comment or post doesn't actually remove it from the database, in case a mod was abusive and I need to restore something. If you're big on privacy, then tough luck
• If a comment is deleted and it has child comments, it will be updated to say "[deleted]" in the body and username indicator
• If a post has comments when it is deleted, the comments will be lost and no longer permalink-able

All that from scratch, done in 3 months. I'm really proud of this, and I sincerely hope you all enjoy it as much as I have. Thanks!