Don't read much into the release dates. Changes are pushed live as often as possible, regardless of whether I make an official release with a new version number or not.
- Previously, the version number was incremented when the previous version was done, and then the date was assigned for the previous version then. Now, the version and date will be assigned at the same time, and then features and improvements will gradualyl be added to the version.
- Massive performance improvement, like an order of magnitude (see technical details for more)
- Table filtering, like "show only players with >1 block per game and >1 steal per game"
- Game separated into UI and worker threads
- Cache layer on top of IndexedDB so that hitting the database is only required for viewing historical data
- Default teams now have logos
- International players from 85 countries, and better names for American players
- Conferences and divisions are now customizable, although only through league files
- Incorporated Babel into build pipeline, most notably enabling async/await
- UI ported from Knockout to React
- Export Stats feature (player average stats or individual game stats)
- More detailed info display: four factors in box scores, transaction log in player pages, etc.
- Statistical Feats feature
- Auto play multiple seasons
- Screenshots
- Multi Team Mode
- Players can die
- +/- and blocks against are recorded
- New historical screens: Transactions, Awards Records, and Team Records
- Streamlined contract negotiations
- Serious injuries can result in decreased athleticism ratings
- A bunch of options in God Mode, like changing the salary cap, disabling injuries, etc.
- Wrapped all IndexedDB calls in a Promises-based abstraction layer
- Phase changes (e.g. regular season to playoffs) happen in a single transaction and are cancellable, so inconsistend DB states should be harder to reach
- Switched from RequireJS to Browserify
- Normalized teams object store into teams, teamSeasons, and teamStats object stores, leading to performance improvements in leagues with many season
- "God Mode" including Create A Player, Edit Player, and Force Trade
- New trade AI, fixing a ton of loopholes
- Achievements
- Upcoming Free Agents page
- Export of entire league data
- Easy import of custom draft classes
- Whole league export
- More realistic player development algorithm
- Separated playerStats object store from players object store for performance
- AppCache used to allow offline play
- Fantasy Draft feature
- Extended free agency phase
- Live play-by-play game simulation
- Removed roster size limit restriction on trades
- Centralized notification system and event log
- Smarter in-game coach: substitutions are based on performance, not just ratings
- GM firings happen after the playoffs, not before the regular season
- Finals MVP award
- Season totals, per 36 minutes stats, and career stats are viewable from the main player stats page
- Option to delete old game data to improve performance
- Future draft classes are visible up to 3 years in the future
- New default team regions and names
- Watch List where selected players can be tracked
- Refactored core.trade API
- New mobile-friendly design
- Trading Block feature
- "What would make this deal work?" button can add assets from either team
- Removed the ability to "buy out" players to get rid of bad contracts
- AI teams will not trade away more than two draft picks in a single trade
- Fewer high-rated big men are generated
- Support for customized team names
- Support for player images in custom rosters
- After being fired, you can get hired by another team
- Quarter-by-quarter scoring in box scores
- Upgraded to Bootstrap 3
- Added ability to alert users to new features without relying on an IndexedDB upgrade
- Just a bunch of minor bug fixes
- Player contract demands are based on ratings and stats, not just ratings
- Future draft picks can be traded
- "What would make you agree to this deal?" button to get counter-offers in trade negotiations
- GMs of other teams pursue different strategies depending on if they are contending or rebuilding
- Internet Explorer 10 works much more smoothly now, although it's still not very well tested
- Can export rosters from a league
- Ability to use a custom roster file rather than randomly-generated players in a new league
- Hall of Fame
- Draft lottery, based on NBA rules
- Made it harder to fleece the AI in trades
- Faster UI, particularly in the game log
- Team history viewable for any team, including a table of all players who played for that team
- Playing time can be controlled from the roster page
- Refactored views from a single giant file into multiple more managable files in the views folder
- Moved templates from Handlebars.js to Knockout
- Smarter realtime UI updates, so that database reads and DOM updates occur less frequently
- Injuries
- Home court advantage in game simulation
- More refined financial data, such as different classes of revenue and expenses
- Team finances view, which includes a lot of information that was not previously accessible
- "Hype" for a team governs things like attendance and revenue
- Different population sizes for different regions, which influences revenue and thus game difficulty
- Awards and salaries from previous seasons displayed in player view
- Many small bug fixes and UI improvements
- More sane and less adversarial contract negotiations, with more direct feedback about what the player is thinking
- Settings to control various budget items, such as ticket price, scouting budget, etc.
- "Fuzz" in displayed player ratings: the more spent on scouting, the more accurate the displayed ratings
- More historical information in player view: previous contracts and awards won
- Annual interactions with the owner: if you do poorly, you might get fired
- Free agents refuse to sign with your team if they don't like you
- Support for minification and compiling of templates/CSS/JavaScript, all easily controllable from the Makefile
- More unit tests (although many more are still needed)
- Moved all JavaScript out of templates
- First release in a very long time, so basically everything changed