smooth logo
Copyright (C) 2015 The smooth project

Welcome to the smooth Class Library project

smooth is an object oriented C++ class library for Windows, macOS, Linux and most Unix-like operating systems. It provides basic functionality and platform support for applications and libraries.

Features provided by smooth include:

  • a user interface API with various widgets
  • a simple to use multithreading API
  • a file and network IO interface
  • completely transparent Unicode and software internationalization support
  • a libxml2 based XML parser

smooth is Free Software and is made available under the terms of "The Artistic License, Version 2.0".

24.11.2017 - smooth version 0.8.71.7

Version 0.8.71.7 of the smooth Class Library has been released today. This service release backports the use of libcurl for HTTP transfers from the 0.8.73.0 release to the 0.8.71.x series and updates auxiliary libraries to the latest versions.

24.11.17 02:02 - smooth alpha 0.8.71.7

- http.cpp		- use libcurl for HTTP transport
			- added support for HTTPS

- upgraded libpng to version 1.6.34
- upgraded libxml2 to version 2.9.7
	  

You should upgrade to this release if you are still developing with smooth 0.8.71.x. Users already on smooth 0.8.72.0 or 0.87.73.0 should continue using those versions.

19.11.2017 - smooth version 0.8.73.0

Version 0.8.73.0 of the smooth Class Library has been released today. It is a major update from the v0.8.71.x and v0.8.72.x series and includes lots of bug fixes and new features.

Among other changes, the new release now uses libcurl for HTTP transfers and adds support for using HTTPS.

19.11.17 17:34 - smooth alpha 0.8.73.0

- surfacecocoa.mm	- fix hangs on macOS 10.11 El Capitan
- fontbackend.cpp	- cache computed text extents
- window.cpp		- added handleSystemMessage callback
- windowgdi.cpp		- don't update coordinates for minimized windows
- windowcocoa.mm	- added support for SetProgressIndicator()
- system.cpp		- added GetResourcesDirectory() method
- mutex.cpp		- added TryLock() method
			- added scoped locker class Lock
			- changed the return type of lock methods to Bool
- semaphore.cpp		- added TryWait() method
			- added scoped locker class Wait
			- changed the return type of lock methods to Bool
- rwlock.cpp		- added scoped locker classes LockForRead/LockForWrite
			- changed the return type of lock methods to Bool
- jpeg.cpp		- avoid temporary files when reading JPEG data from memory
			- check for JPEG signature before trying to open files
- png.cpp		- check for PNG signature before trying to open files
- crc32.cpp		- added method to calculate CRC on plain UnsignedByte * buffers
- crc64.cpp		- added Hash::CRC64 class to calculate 64 bit CRCs
- string.cpp		- added ComputeCRC64() method
- datetime.cpp		- reworked DateTime interface and implementation
- http.cpp		- use libcurl for HTTP transport
			- added support for HTTPS
- listentry.cpp		- added static member: tabDelimiter, use it to delimit list entry tabs
			- tab delimiter changed from horizontal to vertical tab character
- cursor.cpp		- performance improvements
- tipodaydlg.cpp	- tips can now be marked and copied

- ported to Haiku OS
- removed support for QNX
- upgraded libjpeg to version 9b
- upgraded libpng to version 1.6.34
- upgraded libxml2 to version 2.9.7
- upgraded zlib to version 1.2.11
	  

31.08.2017 - smooth version 0.8.71.6

Version 0.8.71.6 of the smooth Class Library has been released today. This service release updates auxiliary libraries to the latest versions and fixes some minor issues found in earlier releases.

31.08.17 20:48 - smooth alpha 0.8.71.6

- listentry.cpp		- added static member: tabDelimiter, use it to delimit list entry tabs
			- tab delimiter changed from horizontal to vertical tab character

- align arguments stack in order to support vectorization
- upgraded libpng to version 1.6.32
- upgraded zlib to version 1.2.11
	  

You should upgrade to this release if you are still developing with smooth 0.8.71.x. Users already on smooth 0.8.72.0 should continue using that version.

21.08.2017 - Code repository migrated to Git

The smooth code repository has been migrated to Git. The new repository is hosted at GitHub and mirrored at SourceForge. Full history of commits is preserved in the new repository.

The previous CVS repository will be available for one more week and then be taken offline.