History.txt 2.7 KB

12345678910111213141516171819202122232425262728293031
  1. It is not fun when things break backward compatibility, but it would be even less fun if the whole library became a bloated mess that nobody uses after a few decades.
  2. While every new feature may create naming conflicts from using the dsr namespace implicitly and every bugfix can make workarounds relying on incorrect behavior stop working, some things require extra attention to make porting to a new version easier.
  3. There are plans to create an automatic refactoring tool built into the Builder build system that could potentially do this automatically for you, but one must be very careful with overwriting people's code in case that someone does not use version control.
  4. Changes since version 0.1.0
  5. * simdExtra.h was removed, because such a low depth of abstraction would risk making the code slower from not fitting well with future SIMD extensions.
  6. The more features you add to the badly defined extra feature set, the less systems it will work on, until it is just a slower version of specific instruction sets.
  7. On missing header when including simdExtra.h:
  8. Replace 'simdExtra.h' with 'simd.h' to make it compile.
  9. Remove any duplicate includes of simd.h to clean up your code.
  10. Remove all code within '#ifdef USE_SIMD_EXTRA' or '#if defined USE_SIMD_EXTRA' to clean up your code.
  11. * Left and right sides of control, shift and alt keys were merged.
  12. Because MS-Windows allow using control, shift and alt of undefined side.
  13. This caused copying and pasting of text to fail when I tested on a different keyboard,
  14. because it was neither left nor right control, just control.
  15. Adding a third case would not solve the bug in applications using this library,
  16. because checks for left or right would still fail.
  17. Forcing unknown sides to one side would cause new bugs when someone connects different actions to left and right sides.
  18. The only resaonable bugfix was to merge left and right sides into the same keys.
  19. On missing DsrKey:
  20. Replace 'DsrKey_LeftControl' with 'DsrKey_Control'
  21. Replace 'DsrKey_RightControl' with 'DsrKey_Control'
  22. Replace 'DsrKey_LeftShift' with 'DsrKey_Shift'
  23. Replace 'DsrKey_RightShift' with 'DsrKey_Shift'
  24. Replace 'DsrKey_LeftAlt' with 'DsrKey_Alt'
  25. Replace 'DsrKey_RightAlt' with 'DsrKey_Alt'
  26. Merge any uplicated checks for left or right versions to clean up your code.
  27. Rethink the design if you relied on distinguishing between left and right control, shift or alt.
  28. * If you used a custom theme before the system was finished, you will now have to add the assignment "filter = 1" for components where rounded edges became black from adding the filter setting.
  29. Because one can not let default values depend on which component is used when theme classes are shared freely between components.