20170519 - Project begins. A sweet domain is snagged. Starts out as a basic little raid heroes report host for [RAID] Warband and [BATS], mostly because of Discord file limits and Raid Heroes logs becoming too big. Good afternoon of remembering how web dev works. 20170630 - Upped thread limits on web server due to rising popularity. [Word of mouth is strong] Increased VM memory. Actually remembered to place pagerules on Cloudflare so stuff is cached. 20170714 - Added post processor [*PostP] for Raid Heroes output to fix a few small bugs. Runs every page load, base file still preserved. 20170914 - *PostP - Started stripping some unidentified numeric skills and boons from output. 20170922 - *PostP - Added support for PoF skills and adding skill images. 20170924 - Added pre processor [*PreP] to read evtc file to grab data raid heroes misses. Might expand this to a full evtc parser someday, for now only fetches evtc header for fight basics metadata. 20170925 - *PreP *PostP - More PoF updates, can now correctly identify new elite specs and replace them in output. 20170927 - *PostP - Added unknown skill log, added a few missing skills not in the API from this and will keep doing so here and there. 20170930 - *PostP - Page 'optimization' change, strips player-specific tabs from output and instead fetches via ajax magic when that tab is clicked. Since *PostP now runs up to 200ms with very large files instead of 2-5ms, added a backend cache. 20171001 - *PostP - Added loading spinner for content being fetched dynamically on a report. 20171002 - VM ran out of memory and was in a soft-crash state for most of the day. Hard reboot and adjusted worker process limits. 20171004 - Moved dps.reports to physical server to help with memory issues. - *PreP - Fixed issues with custom .zip files and .zip files latest arc produces. 20171008 - *API - Added JSON output support to uploadContent - Add a &json=1 param to POST input for JSON only output. This is only really useful for those making auto-upload tools. 20171009 - Fixed some webserver params that killed the site during a particularly heavy upload spree during raid reset last night. - Made changelog public. 20171010 - Updated raid heroes to 1.2-12-gf54eac4. 20171108 - Added rotation_weap1 support to enable/disable the widely requested weapon skill 1 tracking in player rotation pages. Clear your browser cache if it isn't working. - *API - Fixed some rewrite rules stripping JSON from /uploadContent. - /uploadContent now accepts parameters in the query string instead of just POST content. 20171113 - Just surpassed 100,000 uploaded evtc files. That's a lot of raids. - *API - ?json=1 should be lowercase, but /uploadContent now accepts the param name as uppercase too. - Misc other cleanup. 20171129 - Fixed permalink generation for Raid Wing 5 and Shattered Observatory. 'Fixed' some fail messages on unsupported fights. Don't forget to update arcdps to log the new wing! 20171218 - Temporarily took server offline to replace some bad RAM. 20171222 - Fixed golem permalinks. Also we blazed past 150,000 uploads. Added some API docs to dps.report/api 20180122 - 250,000 uploads. 20180313 - 350,000 uploads. Some backend changes to handle future log processing engines. Removed RH links since the domain is currently parked. 20180416 - 450,000 uploads. Downtime was due to some automatic server patches breaking stuff. Updated downtime alerts so maybe it'll wake me up next time. 20180507 - 500k. Fixed a thread pooling issue that should hopefully[!] keep the site usable during heavy load. *API - Updated documentation for some upcoming ~new features~. 20180509 - Doing lots of backend optimization and restructuring. Speed and general site stability will be in flux as I make this more of a Real Project. 20180519 - 🎂 dps.report is 1 year old 🎂 - Currently working on a server upgrade. More stuff coming once spinning disks get swapped for SSDs. 20180521 - Site moved to a slightly less potato server. Also we have a discord now @ https://discord.gg/fyEynB2 - Come on in! 20180529 - *API - Added /getReport endpoint. Gets some metadata about a report link. Useful for discord bots or some auto-uploader implimentations. See api documentation https://dps.report/api 20180620 - Added Elite Insights support. A lot of backend code was changed with this push, so please let me know if anything breaks. - *API - Added Elite Insights support to uploadContent and handleContent. Changed getReport to getUploadMetadata [old endpoint still works], just for backend vs frontend consistency. Added getUploadMetadata output to uploadContent output. Added getUploadMetadata output to getUploads output. See api documentation https://dps.report/api 20180625 - *API - Small tweaks. Prelim support for additional encounter values when using Elite Insights. Removed userToken from getUploadMetadata endpoint due to potential for a cache leak. Fixed encounterTime returning incorrect values based on uploader TZ. 20180701 - Added some tab loading tweaks to Elite Insights output. 20180710 - Processing Options now actually saves selected generator. Misc tweaks and optimizations. 20180711 - Fixed a concurrency issue with /getUploads . Temporary disabled some additional values [compDps, duration] in the API. 20180716 - Swapped bootstrap theme to soon support light/dark themes [soon!] by overwhelmingly popular request. 20180717 - Brief server hiccup caused an outage. Systems seem to be running 100% again. 20180720 - Updated Elite Insights to release 1.6.0 - Enabled Combat Replay by default and added to tab loader. - Fixed some potential upload issues regarding network and random 500 errors. - Added a donation link and ledger. 20180807 - IMPORTANT - Raid Heroes will be depreciated on dps.report after September 7th. Elite Insights will become the default report generator. If you have an auto-uploading tool, see the api documentation on how to select what generator to use. 20180912 - Elite Insights is now the default report generator for the API. Check the API docs to see how to switch between EI and Raid Heroes. 20181016 - Fixed some scratch disk pruning issues causing filesystem errors earlier today. Finally enabled weapon skill 1 on/off switching for Elite Insights. 20181022 - Weapon 1 skill option actually works as expected now. 20181203 - Added backend support for Elite Insights 2.x 20181211 - Fixed an upload bug with EI 2.1. Added support for .zevtc 20181230 - Updated copyright information on dps.report/privacy - EI updated to 2.4.0.0 20190326 - EI updated to 2.9.0.0 - WvW support. Added support for WvW logs. Fixed a filename truncation bug. 1.5 million uploads. 20190414 - Added link to /uploads so you can see your uploads on a [WIP because lazy] list. 20190415 - Updated EI to 2.10.0.0 - Added proper permalink support for non-boss raid encounters. 20190416 - Added /getJson for extended encounter data via Elite Insights. Newly uploaded logs only. The encounter->jsonAvailable flag will be set in upload metadata. 20190513 - Moved servers for the 3rd time. Removed Raid Heroes support [RIP], outdated for over a year now; if anyone has a use-case for it still, please ping us on discord and we'll put it back. Elite Insights now has rotation display options toggable in the output page, so option to toggle it on upload was removed. Removed processing options section entirely since it's currently useless. API docs are outdated. Various other backend changes + bug fixes. 20190520 - Fixed a configuration error that was causing "Internal error" on uploads. Also sorry for the invalid discord link -- please use the discord link on the bottom, it works. 20190523 - Actually committed the "Internal error" fix to live... 20190531 - WvW logs are placed on the new specialized domain wvw.report 20190612 - Added wing 7 boss ids. Some uploads may not work until EI and misc are patched. Added a wildcard CORS header to getJson, getUploadMetadata, and report HTML links to allow external site access -- please note that userToken support is completely disabled on these endpoints. 20190807 - Fixed decompress bug limiting internal evtc data to 50mb. This should fix some weirdly parsed logs that are missing the end of the fight. 20190924 - Added Icebrood Construct support. 20200120 - A lot of backend storage changes. - Improved error messages from report processor. 20200122 - Finally found and fixed timeout issues during periods of heavy load. - Added a new service domain: https://b.dps.report/ - Give it a shot and let us know if it works better or not in our Discord. - Updated boss ids. 20200213 - Updated boss ids to include Whisper of Jormag. 20200902 - Updates to the API docs, rewrote some things to be more clear. Some new parameters to play with for devs. <3 - Updated boss ids - Rewrite of uploadContent endpoint to support new features, primarily the uniqueId parameter. Check out the api docs! 20201003 - Updated boss ids to include Ai. - Fixed some service slowdown issues. 20210124 - Fixed a backend issue causing data loss over this month, mostly in the past day. - Updated backend of getJson api call, please report any issues! - Tweaked service limits to help deal with mass uploads.. 20210328 - Added anonymous and detailedwvw params to uploadContent. Updated front page slightly. See /api for some docs. 20210404 - Fixed anonymous name leak in api. - Revealed anonymous and detailed wvw flags in getUploadMetadata call. 20210410 - Fixed a bug with long filenames in uploads. 20210707 - Added 'warning' to /getUserToken. 20220212 - Tweaked upload handler to not run a JSON parser when file sizes are large, to avoid an OoM error. Files hitting this limit will not have complete metadata but will still be parsed and have json available. This mostly affects really big WvW logs. 20220216 - Updated inliner code to bring in more files under the dps.report domain in an attempt to fix some page loading issues people have on certain networks. 20220301 - Added ids of new EoD strikes. 20220402 - Updated boss ids. - Tweaked some text. 20221023 - Added Old Lion's Court to boss ids. 20221212 - Uploaded API to mention upload rate limits. Rate limit is currently 25 per 60s. Contact Micca if you need more. 20230520 - Really [really] old reports are now regenerated when loaded. Expect some delay, but enjoy modern EI features on those reports. - Changed rate limit and rate limiting rules, timeouts, and other uploader backend tweaks. 20230718 - Added since, sinceEncounter, untilEncounter, and unique restriction parameters to getUploads. Also added perPage up to 1000. Check out /api 20231220 - Increased unpacked file limit to 600MB, should help with WvW logs. 20240220 - Various fixes and code cleanups. Report any weird bugs to our Discord or Email. 20240225 - Uploads with blank or very short filenames will have a random string appended to the name. - EI failure messages are now included in the error message on failed uploads. 20240314 - The duplicate upload check now resets when EI updates. - If an uploaded file fails to parse, and the file is uploaded again, the original error message is returned instead of a generic "try again later". 20240325 - isLegendaryCm is now a property available in getUploadMetadata. - If using an upload tool: I highly recommend using b.dps.report for uploading files for the time being due to timeout issues on the main domain. Generated links still work across all domains. The main page already uploads to that domain. 20240613 - Placed filesize limits on generic instance logs due to memory constraints. - WvW detailed processing limited to [uncompressed] files under 100MB. 20240615 - Added Emboldened stacks to getUploadMetadata under encounter. - Friendly NPCs [ei: Saul] no longer count towards groups or players in metadata. - Both of these changes only effect new uploads. 20240626 - API Change/Fix: metadata objects with an empty json object/dictionary are no longer encoded as an empty array instead. 20240711 - Various backend optimizations and fixes. Please ping in our discord if you notice issues. 20240918 - Fixed a bug that always forced detailed WvW reporting on. Note, logs uploaded larger than 50MB cannot be parsed with detailed WvW on because of memory constraints. 20241001 - Status codes at /uploadContent changed. Errors now return a relevant http error code instead of always returning 403 or 500.