13
I Use This!
Moderate Activity

News

Analyzed about 1 hour ago. based on code collected about 6 hours ago.
Posted almost 3 years ago by Miroslav Fídler
2021.1 (May 2021) Release highlights New system for 3rd party modules, "UppHub": independently developed U++ modules residing in Git repositories now can be seamlessly integrated, including automatic installation of missing packages if they are in ... [More] the UppHub. Core double NAN and INF values are now considered Null (IsNull returns true for them). FileSystemInfo now returns volume names of network drives Improvements in FindFile String middle tier heap handling optimised U++ does not require MemoryFreeThread call at the end of thread (it is now implemented using thread_local destructor) Core/SSH: the underlying libssh2 library is upgraded to v. 1.9.0 CtrlCore New C++ style for iteration of widget children now possible for(Ctrl& q : widget) Pen support (pressure, tilt etc...) RichText, RichEdit 1.15 line spacing support JPEG raw image data is now exported to PDF as JPEG (instead of recoding) TheIDE Context goto now support AK_ key definitions TheIDE now contains credentials manager for git and svn (including github tokens) Various improvements to text comparison dialogs - ability to copy and delete individual lines between versions, filtering by file time (for directory comparison). Repo history of .upp files directly available via package context menu Open package dialog filtering options redesigned New function to copy positions as text to clipboard (e.g. "RichEdit/Modify.cpp:27") and go to such position based on clipboard content. Useful for communication between developers. Some common nest root files like README.md or LICENSE are now directly accessible through pseudo-package. TheIDE/umk build flags MAKE_LIB and MAKE_MLIB force generation of library instead of executable. New "Merge nests" function (in Package organizer) copies all used packages that are not in the first nest of assembly into the first nest. In U++, first nest usually contains the application code whole while other nests contain libraries (U++ or 3rd party libraries). This function is intended to "freeze" the non-application code before releasing / tagging / branching to reduce the chance that a change of that code does not break the application. TheIDE now can "Open terminal" at various directories (output directory, package directory, source file directory etc...), with PATH augmented with current build executable directories. Support for .md (markdown) format Improved debugger threads tab Support for override in virtual methods dialog Ctrl+Shift+Up/Down now moving the line or block of text up/down Win32 Now ships with minimal git (mingit) implementation CLANG now at version 11.0.0 [Less]
Posted over 3 years ago by Miroslav Fídler
2020.2 (October 2020) Release highlights This release is mostly about optimizations, using SIMD and multithreading Core memset, memcpy, memeq, memhash SIMD optimized inlined routines ( = 8, 16, 32, 64, 128) String comparison is yet again ... [More] optimized Using 64 bit hashes on 64 bit CPUs Draw, Painter SIMD optimizations (Intel SSE2 and ARM NEON) of graphics related routines ScatterDraw Added SetDataSourceInternal() to internally host data ScatterCtrl Added ScatterWindowPool Ide/umk - Android Removed depricated Android standard libraries (now select c++-static, c++_shared, system and none are supported) Remove depricated Android platforms (now armabi-v7, arm64-v8a, x86 and x86-64 are supported) Core/SSH Fized a truncation issue with SshExec. It can now handle large outputs up to 2 GiB. Turtle Refactored to use VirtualGui Ide/umk C++ Assist parser in TheIDE is now multithreaded and some parts run in background Navigator now can search for files too The errors now can be directly googled ide/umk now can be configured for cross-compilation (e.g. compile Win32 application in Linux) Direct help button in "Select main package" window Additional tooltips in various places for better user experience Simplified project toolbar Improved documentation uppsrc Improved support for OpenSolaris derived systems, FreeBSD and OpenBSD upgrades of 3d party code OpenSSL (in Win32 release) to 1.1.1g plugin/jpg to 9d plugin/tif to 4.1.0 plugin/lz4 to 1.9.2 plugin/zstd to 1.4.5 plugin/pcre to 8.44 plugin/sqlite3 to 3.33 plugin/glew to 2.2.0 plugin/Eigen to master branch commit C1D944DD (9/May/2020) [Less]
Posted almost 4 years ago by Miroslav Fídler
2020.1 (May 2020) Release highlights gtk3 replaces gtk2 as default linux backend Visual look&feel refactored in Linux and MacOS, improved dark theme support In Win32, PDB debugger now displays various U++ and standard library containers and ... [More] types nicely Win32 release now ships with CLANG compiler toolchain Posix release archives are reworked to allow easier and faster installation Core SshExec improvements ConditionVariable and Semaphore now have Wait variant with timeout IsDoubleWidth function to detect double-width UNICODE glyphs MacOS is now using fast U++ heap when possible (not for new/delete) U++ now using ~/.config and ~/.cache folders to store things Draw GaussianBlur function added CtrlCore Ctrl::GetAscendant utility method to get parent based on its type Dark mode is now enabled by default, CtrlLib: classic skin improvements MacOS multimonitor support and other fixes CtrlLib Modernized widgets look in layout designer Added some less often used widgets like ColorPusher, TreeCtrl or ColumnList that were not previously directly supported in layout designer FileSel support of .lnk files in Win32 Host native file selecteor, FileSelector, is now renamed to FileSelNative and is now available in MacOS too (in addition to Win32 and gtk3) GLCtrl in OpenGL/X11 refactored Ide umk now implements use target directory flag (thanks Novo) Context goto (Alt+J) now able to detect files / links (and open the file / link in browser) Gdb frontend now can better handle executables without debug info Icon designer now can show synthetised UHD/Dark images New Insert file/clipboard as.. function allows insertion of clipboard or files directly to the text in various formats (C string, Base64 encode, raw byte values, * compressed byte values using LZ4 or Zlib or LZMA). Move/Copy package function Find in files now has 3 output panes Painter GetSVGPathBoundingBox function that gets bounding box of SVG path Xform2D::Map function creates matrix for affinity triangle->triangle mapping SQL PGSQL now can escape ? as ?? or use NoQuestionParams method to avoid interpreting ? as parameter holder SQL_RENAME .sch 'command' can be used to have different name of column in DB and code. uppsrc In POSIX, external library dependencies are now refactored with pkg-config [Less]
Posted over 4 years ago by Miroslav Fídler
2019.2 (October 2019) Core Allocator huge block handling optimized, memory consumption improved in specific cases Index refactored to reduce sizeof and improve performance in specific cases Introduced workaround for Mingw TLS performance issue ... [More] pick/clone semantics refined in several places Random algorithm changed to xoshiro256* * Uuid generation optimized Fast U++ allocator is now used internally where possible even if standard allocator us used for new/delete (with USEMALLOC flag) pick/clone refinements Value::Compare optimized for standard types Core/SSH A synchronization issue is fixed with socket waits. 3 new fingerprint methods are added (md5, sha1, sha256). Password change request and event is implemented. authentiaction-less connection is now possible. SshShell can now set terminal modes. Graphics SVG parser improvements GLCtrl new method ExecuteGL to execute code with correct GL context Font metrics optimized for MingW with TLS optimization workaround CtrlLib ArrayCtrl sorting improved CtrlMapper small helper class DropList supports Add with initializer_list FileSelButton WhenSelected Event FileSel has now more sorting options, PreSelect now supports Save As too Ide Console output now supports search Font settings 'set to defaults' button Debugger now has arrow buttons to change frame without dropping the list New GUI patch tool GDB debugger frontend now has memory tab Icon designer export to .png now exports uhd/dark variants too Main config dialog now can drag/drop (or move) lines Run options dialog got new buttons to insert file path / directory path into commandline args pkg-config support [Less]
Posted almost 5 years ago by Miroslav Fídler
2019.1 (May 2019) General improvements MacOS X support Improved support for UHD displays Improved support for dark themes Core Core/SSH: SSH protocol support XMLRPC improvements (protocol version, support for i8 type) WebSockets improvements ... [More] ToAscii, ToUpperAscii, ToLowerAscii functions optimized New CoWork variant CoWorkNX solves an compilation problem when using CoWork as member variable DarkTheme function inverts Color luminosity for dark themes support (dark colors become light, light colors dark, but color remains) MakeOne is now changed to function LocalProcess now allows setting current directory for started process Ide Various improvements of Image designer 'Disable UHD mode' option for testing applications GDB interface improvements: Now possible to stop running application and to set breakpoints while application runs Compare with clipboard function Initial setup improved New dialog for setting up project assemblies PDB debugger improvements: now displays INF and NAN for floats, fixed termination issues Selfupgrade feature (ide compiles itself and replaces the binary) Other Improved jpeg EXIF support RichText now suggests corrections for misspelled words. RichText now supports .svg images GLCtrl refactored, changed to use single context per application (allows sharing resources, e.g. textures, between widgets), support for GTK fixed, MSAA supported in Win32 VirtualGui is a new package to implement working 'fullscreen' GUI by implementing a SystemDraw and a dozen of virtual methods, intended for use with e.g. games. VirtualGUI/SDL2GL is an implementation with SDL2. Painter is heavily optimized for multithreaded rendering. PostgreSQL now supports RETURNING clause in SqlExp. New plugin/tess2 package (tesselation) and plugin/glm (OpenGL maths support). Release U++ now ships with speller files for multiple languages Win32 Release Now ships with SDL2, MySQL and PostgreSQL client libraries mingw64 upgraded to 8.1.0 mingw64 now using lld linker - link times with mingw are now practically zero OpenSSL updated 1.0.2r plugin/jpg updated to 9c plugin/tif updated to 4.0.10 plugin/lz4 updated to 1.8.3 plugin/zstd updated to 1.3.8 plugin/lzma updated to 19.0 plugin/pcre updated to 8.43 plugin/sqlite3 updated to 3.27.2 [Less]
Posted about 6 years ago by Mirek Fidler
2018.1 (rev 11873) You can learn how to build the standard source code package on your platform (POSIX, Linux, BSD, MacOS) reading the U++ online documentation. Changelog Core New low-overhead CoWork parallelization method / pattern - Loop ... [More] Throughout the Core, many rvalue / universal reference related optimizations CoPartition optimized to perform the work in calling thread if data size is small SeedRandom without parameter now reseeds the random with host entropy Array/Vector new Get/Set methods New features for WebSocket client mode plugin/bz2: Streaming support Painter Co Option to run parallel BufferPainter::PreClipDashed PdfDraw PdfDraw: DrawJPEG to directly embed JPEG compressed images into PDF GUI programming In Windows, owned windows now have minimize box disabled (as minimizing of owned windows leads to strange behaviour) LineEdit::WhenScroll event New OptionBox widget (Option with LabelBox like graphics, also able to automatically enable/disable contained widgets) FileSel now has option to add widgets into the dialog (e.g. to specify save format) TheIDE Very long files (>400MB) are now opened for view rather than edit. Some trivial merge conflict helper tools IconDes improvements Esc scripting language now has 'continue' statement [Less]
Posted about 6 years ago by Mirek Fidler
2018.1 (rev 11834) (Dec 2017) You can learn how to build the standard source code package on your platform (POSIX, Linux, BSD, MacOS) reading the U++ online documentation. Changelog Core New low-overhead CoWork parallelization method / pattern - ... [More] Loop Throughout the Core, many rvalue / universal reference related optimizations CoPartition optimized to perform the work in calling thread if data size is small SeedRandom without parameter now reseeds the random with host entropy Array/Vector new Get/Set methods New features for WebSocket client mode plugin/bz2: Streaming support Painter Co Option to run parallel BufferPainter::PreClipDashed PdfDraw PdfDraw: DrawJPEG to directly embed JPEG compressed images into PDF GUI programming In Windows, owned windows now have minimize box disabled (as minimizing of owned windows leads to strange behaviour) LineEdit::WhenScroll event New OptionBox widget (Option with LabelBox like graphics, also able to automatically enable/disable contained widgets) FileSel now has option to add widgets into the dialog (e.g. to specify save format) TheIDE Very long files (>400MB) are now opened for view rather than edit. Some trivial merge conflict helper tools IconDes improvements Esc scripting language now has 'continue' statement [Less]
Posted over 6 years ago by Mirek Fidler
2017.2 (rev 11540) (Dec 2017) Core New AsyncWork class - U++ future-alike tool CoWork: Exception propagation from worker threads, job cancellation support. Bits class optimized, it is now possible to set multiple bits (count parameter) WebSocket ... [More] refactored for asynchronous operation UTF-32 support functions, UnicodeCompose and UnicodeDecompose functions, support for UTF16 surrogate pairs DeleteFolderDeep now deletes symlinks MakeOne function (alternative to One::Create) LoadFromFile, StoreToFile - Event variant ReverseRange and SortedRange Server Name Indicator support in Socket and HttpRequest SSL1.1 API support RegisterGlobalSerialize GUI programming ArrayCtrl: Improvements in sorting, new public GetCellRect, GetCellRectM, GetSelKeys, SetRowDisplay, SetColumnDisplay, AcceptRow methods Button NakedStyle style. WithDropChoice: Set/Remove entry in drop-down list TextCtrl::Load refactored, now can break very long (>1MB) lines TreeCtrl: GetOpenIds, OpenIds IdCtrls, SqlCtrls refactored, improved Option: SetColor Edit...Spin: RoundFromMin modifier method ColorPopup now has button to enter the color as text New features in ScatterDraw, ScatterCtrl Header / Footer can now be changed using paragraph properties QTFDisplay now ignores text color / paper if style is not normal TheIDE Improved debugging of console applications with MinGW MacroManager Explicit Go to line.. operation (in addition to Navigator) BRC now supports LZ4, LZMA and Zstd compression File comparison tool improved Directory comparison now can show/filter new/modified/removed files Dark theme highlighting Duplicate package function FindAll button in normal Search (finds all occurences in current file) HexView now remembers position Selection can be interpreted as error list now shows the number of selected characters tab size now possible on per-file basis Repository synchronize refactored, now supports both svn and git Layout visgen improvements theide now supports Visual Studio 2017 C++ compiler auto setup * MS build tools autosetup 3rd party modules MinGW 64 updated to GCC-7.2.0 OpenSSL for VC++ updated to 1.0.2l plugin/lz4: lz4 updated to 1.7.3 plugin/bz2: updated to 1.0.6 plugin/jpg: updated to version 9b plugin/pcre: updated to 8.41 plugin/png: updated to 1.2.57 plugin/sqlite3: updated to 3.17.9 plugin/z: Updated to 1.2.11 plugin/Eigen: Updated to version 3.3.4 [Less]
Posted over 6 years ago by Mirek Fidler
2017.2 (rev 11427) (Nov 2017) U++ now requires C++14 compatible compiler. Core New AsyncWork class - U++ future-alike tool CoWork: Exception propagation from worker threads, job cancellation support. Bits class optimized, it is now possible to ... [More] set multiple bits (count parameter) WebSocket refactored for asynchronous operation UTF-32 support functions, UnicodeCompose and UnicodeDecompose functions, support for UTF16 surrogate pairs DeleteFolderDeep now deletes symlinks MakeOne function (alternative to One::Create) LoadFromFile, StoreToFile - Event variant ReverseRange and SortedRange Server Name Indicator support in Socket and HttpRequest SSL1.1 API support RegisterGlobalSerialize GUI programming ArrayCtrl: Improvements in sorting, new public GetCellRect, GetCellRectM, GetSelKeys, SetRowDisplay, SetColumnDisplay, AcceptRow methods Button NakedStyle style. WithDropChoice: Set/Remove entry in drop-down list TextCtrl::Load refactored, now can break very long (>1MB) lines TreeCtrl: GetOpenIds, OpenIds IdCtrls, SqlCtrls refactored, improved Option: SetColor Edit...Spin: RoundFromMin modifier method ColorPopup now has button to enter the color as text New features in ScatterDraw, ScatterCtrl Header / Footer can now be changed using paragraph properties QTFDisplay now ignores text color / paper if style is not normal TheIDE Improved debugging of console applications with MinGW MacroManager Explicit Go to line.. operation (in addition to Navigator) BRC now supports LZ4, LZMA and Zstd compression File comparison tool improved Directory comparison now can show/filter new/modified/removed files Dark theme highlighting Duplicate package function FindAll button in normal Search (finds all occurences in current file) HexView now remembers position Selection can be interpreted as error list now shows the number of selected characters tab size now possible on per-file basis Repository synchronize refactored, now supports both svn and git Layout visgen improvements theide now supports Visual Studio 2017 C++ compiler auto setup * MS build tools autosetup 3rd party modules MinGW 64 updated to GCC-7.2.0 OpenSSL for VC++ updated to 1.0.2l plugin/lz4: lz4 updated to 1.7.3 plugin/bz2: updated to 1.0.6 plugin/jpg: updated to version 9b plugin/pcre: updated to 8.41 plugin/png: updated to 1.2.57 plugin/sqlite3: updated to 3.17.9 plugin/z: Updated to 1.2.11 plugin/Eigen: Updated to version 3.3.4 [Less]
Posted about 7 years ago by Mirek Fidler
U++ 2017.1 (rev 10804) (Jan 2017) This is the first release of U++ that requires C++11 compatible compiler. The main focus was Core, adding many enhancements allowed by C++11 and improving parallel programming support. We, also didn't forget about ... [More] Android as we ported Core library on that platform. Changelog Core Original U++ Callbacks are deprecated and replaced with Function with better lambda support. Begin/End methods are now renamed / deprecated in favor of (standard) begin/end. U++ algorithms now primarily work on ranges, besides container SubRange, ConstRange and ViewRange are now provided. Initial round of optimizations for ARM architecture. U++ allocator optimized once again, locking is reduced in inter-thread deallocations, allocator now returns blocks always 16 bytes aligned (simplifies SSE2 code). General cleanup of U++ algorithms, redundant algorithms removed, new Count and CountIf algorithms Improvements in Core/RPC CoWork::FinLock now provides 'free of charge' mutex at the end of worker jobs. CoWorkerResources class now provides 'per worker thread' context. CoPartition algorithm useful for partitioning array for parallel programming. Where it makes sense, U++ algorithms now have parallel variant. String further optimized, new TrimLast, TrimStart, TrimEnd, FindAfter, ReverseFindAfter FastCompress (currently using LZ4) for internal program compression. Core can be compiled on Android and major of features are currently ported. xxHash - fast non-cryptographic hash - now part of Core. SHA256 code now part of the Core. plugin/pcre updated to the latest pcre version. plugin/zstd now provides zstd compression (with multithreaded option). plugin/lz4 now can multithreaded. GUI programming & graphics PdfDraw and RichText now support PDF signatures. RichText now can change header/footer within document. ArrayCtrl got SetLineColor and GetCellRect methods. TheIDE Comments now can be spell checked and there is comment word wrap and reformatting operation. New functions / icons that search the web (launch the browser) for text selected or current identifier. Optimal compilation mode is removed as confusing, it is now always either debug or release mode, release mode being configured for speed. When comparing files, differences within single lines are now shown. Most U++ designers now support drag&drop to reorganize lists. Find File window was remastered. New dialog for creating package file. Android application can be directly launch on emulator from TheIDE. Clang is now default compiler for native Android applications. C++14 is now default standard for all Android builds. Various android builder improvements. ESC New math functions like sin, cos, tg, pow etc. New replace in string function. General Significantly improved the process of building TheIDE and UMK from tarball (POSIX environment). Compilation on multiple cores is possible with "-j" option. Documentation improvements. Bug fixes in various areas. Files Source upp-x11-src-10804.tar.gz - U++ source code distribution Windows upp-mingw-10804.7z - U++ for Windows with MinGW-w64 toolchain upp-win-10804.7z - U++ for Windows without toolchain Linux (rpm based distributions) rpm/upp-devel-10804-1.fc25.x86_64.rpm - U++ Fedora 25 x86_64 rpm package rpm/upp-devel-10804-1.el7.centos.x86_64.rpm - U++ Centos 7 x86_64 rpm package rpm/upp-devel-10804-1.os1302.x86_64.rpm - U++ OpenSuse 13.2 x86_64 rpm package rpm/upp-devel-10804-1.src.rpm - U++ generic rpm source code package Ubuntu, Gentoo and Arch Linux If you use Ubuntu based GNU/Linux distributions, Gentoo or Arch Linux, you can download stable packages and nightly builds on U++ download page. You can learn how to build the standard source code package on your platform (POSIX, Linux, BSD, MacOS, Windows and more) reading the U++ online documentation. [Less]