Alphabetical Index | Tags by Size | Find tag:

libcore

Related tags: App, Config, Garbage, Garbages, libdeng2, Log, LogBuffer, Widgets

Authorship: 99% skyjake, 1% danij

View commits by groups

August 2021
2021-08-07 Fixed | Legacy | MSYS : Fixed warnings about char subscripts
July 2021
2021-07-29 NativeFile : Improving file handle management
February 2021
2021-02-15 File | Fixed : Incorrect text output formatting
January 2021
2021-01-13 libgui | Linux : Library install directory
December 2020
2020-12-29 FS : Interpret folders as well (e.g., ".box")
2020-12-06 Scripting : Implement bitwise operators
March 2020
2020-03-01 String : Removed redundant method
January 2020
2020-01-18 Scripting : Converting a number to uint32
2020-01-16 Added : Added more Vec typedefs
2020-01-09 Refactor : Renamed Map to KeyMap
2020-01-08 : Future-proofing
2020-01-07 Fixed | Info : Retain original element names
December 2019
2019-12-29 Vector : Vector typedefs
2019-12-28 Windows : Missing export
2019-12-28 Added : Added convenience header for Slope
2019-12-27 Added | Math : Added a Slope utility
2019-12-21 Added | Scripting : Added more Math functions
2019-12-21 Record : Utility for removing members
2019-12-12 Added | Math : Added 2D cross product
September 2019
2019-09-12 Cleanup | ServerFinder : Cleanup
2019-09-11 Address : Improvements
2019-09-11 Fixed : Check for DST when constructing a Time
2019-09-10 Socket : Cancel notifications when socket deleted
2019-09-08 Cleanup : Systems do not handle events
2019-09-06 Widgets : API improvement for setting focus
2019-09-05 Network : Network address handling improvements
2019-09-03 Added : Added character symbol for Copyright
2019-09-01 Added | String : Added missing += operator
August 2019
2019-08-31 Fixed | FS : Problem populating subfolders
2019-08-31 Fixed : Waiting for task pool completion
2019-08-30 Added | FS : Added method to query file type
2019-08-28 : Moved some sources out of source root
2019-08-28 : Renamed "scriptsys" source directory
2019-08-27 Cleanup | Path : More efficient sub-path method; some cleanup
2019-08-27 FS : Disabling file interpretation on DirectoryFeed
2019-08-27 CString : More efficient end-of-string pointer access
2019-08-27 Widgets : Method for creating and adding a child widget
2019-08-26 Cleanup : Simplify the Rule classes
2019-08-25 FS : Improved native directory population
2019-08-25 FS : Populating a folder outside the file system
2019-08-24 Cleanup : Improved Info parser
2019-08-24 : TimeSpan is a simple data type (double)
2019-08-23 Socket : Use thread pool for compressed messages
2019-08-23 Fixed : Fixed missing namespace for Variant
2019-08-23 Concurrency : Async work using TaskPool
2019-08-23 Added | Time : Added literal suffixes for time
2019-08-23 Added : Added an explicit "hidden" attribute macro
2019-08-23 Added : Added Variant for flexibility
2019-08-23 Concurrency : Smaller thread pool
2019-08-21 Address : Defer address lookups until needed
2019-08-08 Fixed : Improved String concatenation; missing return value
July 2019
2019-07-12 Widgets : Helper for centering within a rectangle
2019-07-05 App : Clear garbage in App destructor
2019-07-04 EventLoop : Event loop callback utility
June 2019
2019-06-27 CString | Fixed : Getting a substring
2019-06-15 Log : Remove unnecessary atexit call
2019-06-15 : Improved union of Rectangles
2019-06-15 Added : Added vector floor/ceil functions
2019-06-12 : Automatically join all threads before destruction
2019-06-12 : Deleting the App thread pool
2019-06-12 : Posting timer events outside event loop
2019-06-11 Fixed : Stopping the Timer thread
2019-06-11 Fixed : Fixed resource leaks
2019-06-11 : Improved Observers for multithreading
2019-06-11 : Taking pointers from PointerSet
2019-06-05 FS | Performance : Performance tuning
May 2019
2019-05-31 : de::Map iteration
2019-05-20 String : Splitting an empty string
2019-05-19 Debug : Stopping an event loop
2019-05-19 Async : Cleaning up completed tasks
2019-05-19 : Checking if a thread is finished
2019-05-19 Fixed : Data races
2019-05-18 Fixed | String : Use of uninitialized value
2019-05-18 Fixed : Minor data races related to timers
2019-05-18 Fixed : Fixed crash during config autosave
January 2019
2019-01-20 Fixed : Time formatting
December 2018
2018-12-18 Added | Windows : Added missing link library
2018-12-18 Windows : Adapting code for MSVC
2018-12-15 Scripting : Keep track of script source line numbers
2018-12-08 : Improved string iteration; App initialization
2018-12-07 : Choose a more unique random seed
November 2018
2018-11-25 Scripting : Improved handling of int/uint numbers
2018-11-23 Fixed : Fog rendering regression
2018-11-22 Fixed | FS : Crash when disconnecting from server
2018-11-18 Fixed : Improved perspective matrix
2018-11-18 Added | Widgets : Added a rule pair utility
2018-11-18 Scripting : Accessing native/imported modules
2018-11-17 Widgets : Common DPI rule; waiting for assets
2018-11-17 Scripting : “import” overwrites existing variable
2018-11-14 Widgets : Checking for layout rectangle validity
2018-11-09 : Friendlier friendly time format
2018-11-08 Cleanup | FS : Deleting directories; cleanup
2018-11-07 FS : Accessing native files
2018-11-07 Math : Better random number generator
2018-11-05 : Querying the size of a Record
2018-11-05 Info : Converting an Info block to a Record
2018-11-04 Widgets : Finding a parent widget of certain type
2018-11-04 FS : Improved API convenience
2018-11-03 Fixed : Profile title change notification
2018-11-03 Scripting : Finding index of value in array
2018-11-03 : Improved async() method
2018-11-03 FS : Querying the file system busy status
October 2018
2018-10-29 Fixed : Misaligned pointer access
2018-10-29 FS : Tracking file system busy level
2018-10-27 : Improved package error handling
2018-10-20 Added : Added a container mapping template method
2018-10-07 FS : API convenience
2018-10-07 : Auto-clear metadata cache on version change
September 2018
2018-09-30 Scripting : Checking if a particular native module exists
2018-09-25 Added | Animation : Added a softer ease-out animation style
August 2018
2018-08-30 ZipArchive : Assume ZIP archive times are in UTC
2018-08-20 : API improvements
2018-08-20 Fixed : Validate strings when constructing from bytes
2018-08-20 Math : Rounding correctness
2018-08-08 Fixed | FS : Fixed loading of a remote file repository index
2018-08-05 FS | Network : Updated remote file system classes
2018-08-04 JSON : Parsing JSON to a Doomsday Script value
2018-08-03 Tests : Extract host name from URI
2018-08-02 Added : Added a helper for splitting URI components
2018-08-02 Fixed | String : Reverse-iterating a multibyte string
2018-08-01 Added | Record : Added an isEmpty() method
July 2018
2018-07-30 Added | Network : Added WebRequest for HTTP GET/POST requests
2018-07-28 : Validity check in date parsing
2018-07-28 Fixed : Parsing a date according to format
2018-07-28 : Checking the current thread more efficiently
2018-07-27 App : Compose application ID using reverse domain notation
2018-07-27 Fixed : Hash/Map value insertion; string debugging
2018-07-27 : EventLoops share the same event queue
2018-07-24 Cleanup : Cleanup
2018-07-24 Fixed : Iterating a string with invalid characters
2018-07-20 Fixed : Decoding characters at the end of string
2018-07-19 Fixed : Don't repeat the same log section heading
2018-07-19 Fixed : Behavior of String/Block move constructors/assignment
2018-07-19 Debug | StringPool : Use C++ for printing debug output
2018-07-19 Fixed | String : Extracting file name extension
2018-07-18 Network : Querying the local network interface address
2018-07-17 EventLoop : API usability improvement
2018-07-17 Timer : Avoid repeating Timer triggering
2018-07-16 Fixed : Avoid crash determining size of a null CString
2018-07-15 Cleanup : Cleanup
2018-07-15 Added : Added a separate Char class to avoid incorrect conversions
2018-07-15 Fixed : Incorrect implicit String casts
2018-07-15 Fixed : Uninitialized variable in RegExp
2018-07-15 Added : Added EmbeddedApp
2018-07-13 : Adding support for manually-run event loops
2018-07-13 Fixed : Bugs in handling Block data
2018-07-13 Network : Use iDatagram for UDP sockets in de::Beacon
2018-07-07 Added | Cleanup : Added de::Stringf() template function; other cleanup
2018-07-07 : constexpr constructor for Vector; other minor improvements
2018-07-04 : NumberValue constants and various fixes
2018-07-04 : Improved de::map() function
2018-07-02 : Constructing a List from an iterator range
2018-07-01 : Minor usability tweaks
2018-07-01 Added : Added a few missing methods
June 2018
2018-06-30 Added : Added various useful/missing methods
2018-06-29 Added : Added multimap remove utility; various fixes
2018-06-29 Added : Use std::numeric_limits; added DE_STATIC_STRING; more methods
2018-06-29 Added : Added various missing methods; easier Timer callbacks
2018-06-28 Cleanup : Cleanup
2018-06-27 Added | ScriptLex | String : Added a few missing methods
2018-06-26 Fixed : Fixed crash when describing an archive entry
2018-06-26 Block | Fixed : Fixed initialization (missing null-termination)
2018-06-26 Debug | Fixed : Fixed timeout on Waitable; flush debug output immediately
2018-06-25 Added | CString : Iterating using mb_iterator; added more methods
2018-06-25 : Concatenating lists
2018-06-25 : RegExp capture as CString; hash function for Id
2018-06-24 Block : std::hash function for Block
2018-06-23 Time : Disallow TimeSpan construction from an integer
2018-06-23 : Recycle garbage at thread exit
2018-06-23 : Running a function right after starting event loop
2018-06-23 LogBuffer : Defer creation of the autoflush timer
2018-06-23 Cleanup | Timer : Cleanup
2018-06-23 Cleanup | Tests : Event loop return code; cleanup
2018-06-23 Added | Tests : Added ThreadLocal, EventLoop, Timer, CallbackTimer
2018-06-20 Cleanup : Cleanup
2018-06-18 String : Prepending individual characters
2018-06-17 : Improved String iterators; lambda observers; stub for Timer
2018-06-17 : Macro trick for determining number of macro arguments
2018-06-17 CMake | Tests : Build configuration improvements
2018-06-16 : Adjusted build configuration to include dependencies
2018-06-16 Tests : Completed update of libcore tests; additional fixes
2018-06-16 Cleanup | Fixed | Tests : Fixed up the scripting tests; cleanup
2018-06-16 Fixed : Fixed a set of bugs introduced during the Qt removal
2018-06-16 Scripting : TextValue is indexable and iterable
2018-06-15 Tests : Fixes and improvements to string manipulation
2018-06-14 Tests : Revised StringPool with case-insensitive comparators
2018-06-14 Added | Fixed : Fixed a String constructor; added missing Time conversions
2018-06-13 Added | Fixed | Tests : Fixed bugs, added missing operators
2018-06-13 : Starting start processes with CommandLine
2018-06-13 Cleanup : Cleanup
2018-06-12 : File index and config profiles are indexed case-insensitively
2018-06-12 : Various fixes
2018-06-12 Fixed : Fixed errors
2018-06-12 Added : Added insensitive String comparator
2018-06-12 : Fixes for DirectoryFeed; Folder uses case-insensitive keys
2018-06-12 : Path manipulation fixes
2018-06-11 Cleanup | Tests : Cleanup, fixes, and improvements
2018-06-11 : Copying network addresses not really needed
2018-06-11 : Parsing an IPv6 address
2018-06-11 Fixed : Fixed all compile errors in libcore; linking still fails
2018-06-10 : Continuing removal of Qt dependencies
2018-06-10 : Continuing removal of Qt dependencies
2018-06-10 : Continuing removal of Qt dependencies
2018-06-09 : Continuing removal of Qt dependencies
2018-06-08 : Continuing removal of Qt dependencies
2018-06-08 : Continuing removal of Qt dependencies
2018-06-07 : Continuing removal of Qt dependencies
2018-06-07 : Continuing removal of Qt dependencies
2018-06-07 : Continuing removal of Qt dependencies
2018-06-06 : Continuing removal of Qt dependencies
2018-06-06 : Continuing removal of Qt dependencies
2018-06-04 Added : Added a Thread class
2018-06-03 : Continuing removal of Qt dependencies
2018-06-03 : Started removal of Qt dependencies
May 2018
2018-05-30 FS : Refreshing the /packs folder
2018-05-30 Added : Added a missing Vector3 method
2018-05-16 Added | Path : Added path splitting utilities; various other cleanups
2018-05-13 : Revised byte swapping methods
2018-05-13 Added : Added DataArray template class
2018-05-12 Block : Mapping data buffer contents using a values palette
2018-05-11 : Mapping a container to a different type of container
2018-05-08 : Sign function uses enumerations
2018-05-06 : Template for composing a container using an iterator range
March 2018
2018-03-31 : Range template with dsize as value type
2018-03-25 Matrix : Calculating matrix inverse
February 2018
2018-02-19 Matrix : Creating a 3x3 matrix from a 4x4 matrix
2018-02-19 : Locking a mutex without throwing exceptions
2018-02-17 Added | Vector : Added a method for calculating area
2018-02-15 Fixed | Scripting : Crash due to off-by-one string read
2018-02-09 Added | Math : Added math functions: mod(), Vector2::cross()
January 2018
2018-01-31 FS : Improved "fs:multithreaded" option
2018-01-30 Added | FS : Added option for disabling multithreaded file system updates
November 2017
2017-11-18 Cleanup : String API
2017-11-12 : Waiting on async tasks to finish
2017-11-04 FS : Package version may be checked from the file metadata
2017-11-01 Cleanup : Converting a Record to Info syntax; various cleanups
October 2017
2017-10-31 Added | Windows : Added a missing export
2017-10-31 FS : Package identifier may be specified in metadata only
2017-10-31 Record : Finding a variable from a record
2017-10-31 FS : Downloading files from a web-hosted package repository
2017-10-31 : New API methods and improvements
2017-10-28 Added : Added a helper method for MD5 hashing
2017-10-23 Cleanup | Refactor : Cleanup
2017-10-23 FS : Clarified waiting behavior when populating file system
2017-10-23 : Various API improvements to core classes
2017-10-22 : Version constructor
2017-10-21 : Cancelling remote file downloads
2017-10-21 FS : Safe file removal
2017-10-21 FS : Renamed cached remote files; notify about download progress
2017-10-18 : Querying current event loop frequency
2017-10-17 Socket : Always prefer speed when compressing payloads
2017-10-17 FS : Improved behavior of linked packages
2017-10-17 FS : Finding linked files
2017-10-17 Cleanup : Cleanup
2017-10-16 : API improvements
2017-10-15 Fixed | FS : Fixed accessing remote file content
2017-10-15 Network : More detailed network traffic statistics
2017-10-14 Socket : Asynchronous sending is disabled by default
2017-10-14 Socket : Use a background thread to compress large messages
2017-10-14 : Using Waitable and WaitableFIFO without exceptions
2017-10-14 Network : Socket notifies when everything has been written
2017-10-12 : Improved async utility
2017-10-11 Added : Added async execution utility
2017-10-01 Added | Documentation : Added a method description
September 2017
2017-09-10 FS | Scripting : Writing files using Doomsday Script
August 2017
2017-08-26 Bank : Avoid hanging when accessing bank contents
2017-08-26 Client : Avoid a crash during shutdown
July 2017
2017-07-27 Added | String : Added a string conversion method
2017-07-15 Added : Added vector helper method
June 2017
2017-06-19 Client | Fixed | libappfw : More graceful fatal errors
2017-06-18 Added | Scripting : Added a new Scheduler class
2017-06-18 Model Renderer | Scripting : Script callbacks for model state change
May 2017
2017-05-12 Fixed : Crash when starting in an empty runtime folder
April 2017
2017-04-12 Unix : DENG_BASE_DIR and DENG_LIBRARY_DIR may be relative paths
2017-04-02 Fixed : Copying a Record to itself causes the Record to be cleared
March 2017
2017-03-27 Added | Info : Added a string-quoting utility method
2017-03-18 Scripting : Constructing an ArrayValue out of StringList
2017-03-16 Unix : Set preferred locale for number formatting earlier
2017-03-14 CommandLine | Fixed : “-v” command line option counted twice
2017-03-05 FS : Only populate the folder that was asked for, not all parents
2017-03-05 FS : Improved multithreaded behavior in the file index
2017-03-04 App | Web : Convenient method for getting the web API URL
2017-03-04 Fixed : JSON parsing error
2017-03-04 Added | Scripting : Added more Core.String and Core.File bindings
February 2017
2017-02-26 Optimize : Faster time tracking; keep one time for each loop iteration
2017-02-26 Fixed | Widgets : Enabling widgets
2017-02-26 Animation | Optimize : Faster animation time checking
2017-02-26 FS : Adjusted log entry verbosity when updating archives
2017-02-24 Added : Added template function for filtering a container
2017-02-21 Fixed : Qt warning about thread-local storage
2017-02-19 FS : Modifying File flags more conveniently
2017-02-19 App | Fixed : Initializing an empty “persist.pack”
2017-02-18 Fixed | FS : Fixes and improvements in the file system
2017-02-18 : SafePtr is now even safer
2017-02-15 Cleanup | FS : Destroying folder contents; MetadataBank API cleanup
2017-02-15 Fixed | FS : MetadataBank is populated before the rest of the tree
2017-02-15 : Banks can decide whether to serialize individual items
2017-02-15 FS : Metadata of “persist.pack” should never be cached
2017-02-14 Added | NativePath | Path : Added move constructors
2017-02-14 Data : Adjustable zlib compression level
2017-02-14 : Serializing a container of elements
2017-02-14 Fixed : Potential crash when copying records
2017-02-14 FS | Performance : Cache ZIP metadata
2017-02-14 Fixed : Problems with Bank contents serialization
2017-02-14 Refactor : Updated de::Path with current conventions
2017-02-14 : Conveniently checking if String and Block are empty
2017-02-13 Added | FS : Utility method added
2017-02-12 Added | FS : Added MetadataBank for caching ZIP archive metadata
2017-02-12 Added : Block should be serializable; added more utility methods
2017-02-12 FS | Optimize : Memory optimizations in the file system
2017-02-12 FS | Optimize | Refactor : Proper script bindings File and Folder
2017-02-12 Cleanup : Use C++11 standard mutex class
2017-02-12 : PointerSet supports const pointers, too
2017-02-12 Optimize | Widgets : Use PointerSet for rule dependency tracking
2017-02-12 Cleanup : Cleanup
2017-02-12 Refactor : Observers now uses PointerSet for its members
2017-02-12 : Typed template for PointerSets; finished implementation
2017-02-11 Added : Added a new utility class
2017-02-11 Optimize : Avoid large observer audiences
2017-02-10 Fixed : Improved thread-safety
2017-02-09 : Use atomic integers for reference counting
2017-02-09 Fixed : Potential crash when shutting down a text-based app
2017-02-08 : Mutex guards are always inline
2017-02-08 : Improving thread-safety
2017-02-07 Fixed : Clarified different version-to-text conversions
2017-02-07 Time : Inlined TimeDelta math
2017-02-06 Fixed : Parsing a four-component version number
2017-02-05 : Convenience method for accessing Config variables
2017-02-04 FS : Human-readable package ID and version text
2017-02-04 Scripting : Converting an ArrayValue to StringList
2017-02-03 : Converting to a de::StringList
2017-02-03 FS : Minor version numbering improvements
2017-02-02 Network | Performance : Keep local IP addresses cached
2017-02-01 Added : Added a new constructor for ByteSubArray
January 2017
2017-01-29 Widgets : Disabled focused widget relinquishes focus
2017-01-28 Scripting : Making copies of records vs. read-only variables
2017-01-26 Amethyst | Cleanup : Deprecated QChar behavior
2017-01-23 Fixed : Memory leak when copying Record members
2017-01-23 Fixed | FS : Minor memory leak when shutting down the file system
2017-01-23 Fixed | Scripting : Memory leak when removing dictionary elements
2017-01-23 Fixed | Scripting : Fixed a memory leak when evaluating `and`/`or`
2017-01-22 Scripting : Evaluating AnimationValues without copying the Animations
2017-01-22 Scripting : Underscores can be used for readability in long numbers
2017-01-21 Performance : Checking current animation time
2017-01-21 FS | Windows : Show full native paths
2017-01-20 FS : Keeping track of the version of loaded packages
2017-01-15 FS : Finding packages with versioned identifiers
2017-01-15 : Improved time/date parsing from string
2017-01-13 : Config profile change notifications
2017-01-13 Added | FS : Added file system utility methods
2017-01-12 Added | FS : Added a shared string constant for package ID
2017-01-06 FS : Improvements to DirectoryFeed
2017-01-06 Doom : Copying profiles and game profiles
2017-01-06 Added | FS : Added utility methods
2017-01-06 FS : Manually populating a single native file
2017-01-06 Added : Added method for processing all command line option parameters
2017-01-03 Fixed : Implemented a missing time comparison case
December 2016
2016-12-27 Client | Server : Rewrite “persist.pack” periodically (if changed)
2016-12-10 Added | Scripting : Added new value type for animations
2016-12-10 Cleanup : Deserializing Id generators, cleanup
2016-12-07 Reader : Reading serialized objects with a constructor callback
2016-12-07 Added | Record : Added a new utility method
2016-12-05 Writer : Utility for writing variable-length data sequences
November 2016
2016-11-26 FS : Finding a loaded package based on a file
2016-11-26 Fixed : Potential crash
2016-11-25 Fixed | FS : Reinterpreted files are indexed in the file system
2016-11-22 Added : Added template functions for mapping container contents
2016-11-22 Added | Widgets : Added a zero constant rule that can be used everywhere
2016-11-19 Fixed | Scripting : Parsing negative numbers
2016-11-17 Cleanup | Scripting : Cleanup
2016-11-17 Scripting : Parsing multi-line comments
2016-11-17 Cleanup | Refactor : UTF-8 string conversion; lexer/parser classes
2016-11-13 Fixed : Querying the local IP addresses
2016-11-12 CommandLine : Starting a process and keeping a reference to it
2016-11-12 Fixed : Improved IPv6 address parsing
2016-11-12 Added | Client | Server : Added ‘Config.apiUrl’; use new web API for master server
2016-11-12 Fixed : IPv6 address parsing
2016-11-09 Fixed : Network address comparisons
2016-11-09 Fixed : JSON parsing error
2016-11-08 Cleanup | libshell : Show local addresses always as "localhost"
2016-11-08 Data | Network : Compressed network discovery beacon payloads
2016-11-07 Math : Very minor optimization for vector element access
2016-11-07 Tests : Testing the Record-to-JSON conversion
2016-11-07 : Move constructors and move assignment operators
2016-11-06 Cleanup : Cleanup and new data utlities
2016-11-06 : Composing JSON and constructing a Value from JSON
2016-11-05 : More flexible applyFlagOperation() template method
2016-11-01 Doom | Performance | Refactor : More efficient sprite definitions
October 2016
2016-10-30 Added : Added protocol ID for 2.0.0
2016-10-30 Performance : Removed unnecessary memory allocs when calculating CRC32
2016-10-18 Fixed | Scripting : Copying record members when types mismatch
September 2016
2016-09-06 Qt : Check for Qt 5.7
2016-09-06 Added | Time : Added conversion from TimeDelta to microseconds
August 2016
2016-08-23 Scripting : Checking for substrings in text values
2016-08-01 libappfw | Widgets : Basic navigation with arrow keys
July 2016
2016-07-30 FS : Make everything under "/sys" writable
2016-07-29 Cleanup : Undefined more conflicting X11 defines
2016-07-28 NumberValue : Undefine conflicting True/False defines
2016-07-27 FS : Adjusted file descriptions
2016-07-27 Added : Added a utility for converting FlagOp arguments
2016-07-26 Cleanup : Removed unused BinaryTree C wrapper
2016-07-25 Cleanup : Disambiguate the BinaryTree C wrapper
2016-07-24 Fixed : Inadvertent argument shadowing
2016-07-23 Fixed : Build failure (missing header)
2016-07-23 Added | Widgets : Added method for walking the widget tree
2016-07-23 Cleanup : Renamed NativeValue to NativePointerValue
2016-07-23 Fixed : Type ambiguity in NumberValue, Record
2016-07-23 Fixed : Removed use of ambiguous dsize type in Record, NumberValue
2016-07-22 Fixed : dsize typedef should always match system size_t
2016-07-21 Refactor | Widgets : Utility for setting up a widget draw
2016-07-17 : Minor Rule improvements
2016-07-17 Record : Record supports multithreaded access
2016-07-16 FS : Compiling a full list of packages including dependencies
2016-07-15 : Use inline methods in the PrivateAutoPtr class
2016-07-09 Cleanup : Byte order terminology
2016-07-08 : Checking package identifiers
2016-07-06 : Minor improvements (utility methods)
2016-07-05 : Minor improvements
2016-07-02 Doom : Package tags should be unique
2016-07-02 Log : Tweaked text styling of error messages and file descriptions
2016-07-02 Record : Appending a word to a variable
2016-07-01 Fixed | FS : Potential lockup when saving/loading the game
2016-07-01 Log : Build number is not needed in every log entry
June 2016
2016-06-30 Client | Fixed : Connecting to an IPv6 address
2016-06-27 Path : Path segment hashing uses CRC-32
2016-06-27 Fixed : Wildcard-based path matching
2016-06-27 Cleanup | Fixed | libappfw : Observers concurrency and cleanup
2016-06-26 Fixed | Windows : Build failure (missing header)
2016-06-26 Qt | Refactor : Compatibility with older Qt versions
2016-06-26 FS : Asynchronous folder population and FS refresh
2016-06-26 FS : No errors about empty container packages without metadata
2016-06-26 Performance : Faster destroying of audiences
2016-06-25 FS : Folder concurrency
2016-06-24 Debug | FS : More verbose file source description
2016-06-20 : Querying record member value as a list of strings
2016-06-20 Fixed : Catch errors when parsing Info documents
2016-06-19 Performance : Minor performance tuning
2016-06-18 Performance : Rule dependency tracking
2016-06-18 Refactor : Audience members are automatically removed upon deletion
2016-06-17 Added | FS : Added a common string as a Package class member
2016-06-16 Vector : Method for selecting xyz components out of a Vector4
2016-06-12 Fixed | Log : Log output file is prematurely closed
2016-06-11 Added : Added conversion of DOS code page 437 to Unicode
2016-06-10 : API improvements
2016-06-10 Cleanup | FS : Checking package tags; cleanup
2016-06-05 Fixed | Time : Converting a high-performance time to a full timestamp
2016-06-05 Refactor | Widgets : Improved child widget addition
2016-06-05 libgui | Performance : Various optimizations
2016-06-05 Client | Refactor : Improved Version class API
2016-06-04 : Various minor improvements
2016-06-04 FS : Utility method for adding new package dependencies
2016-06-04 Optimize : Faster high-performance timing
2016-06-02 Cleanup : Cleanup
2016-06-01 Record : Creating or finding an existing subrecord
May 2016
2016-05-08 FS : Handling archive folders
2016-05-08 FS : Don't try to write changes to read-only archives
April 2016
2016-04-24 Fixed : Missing header
2016-04-23 : Minor API improvements
2016-04-23 Cleanup : Allocate fewer rules for each rule rectangle
2016-04-22 Animation | Widgets : Improved animated layout rules
2016-04-19 Added : Added IAssetGroup interface
2016-04-13 File : Getting a file description with specific verbosity
2016-04-13 Widgets : Checking for a potential ancestor widget
2016-04-03 PackageLoader : Load required packages automatically
March 2016
2016-03-29 FS : Improved support for symbolic file links
2016-03-27 Doom : Constructing profile duplicates
2016-03-27 Profiles : Renaming a profile without implicit add/remove
2016-03-23 : Singleton accessor methods for Config and CommandLine
2016-03-23 Cleanup | Refactor : Cleanup of Writer/Reader method naming
2016-03-20 FS : Standalone native files; writing to native folders
2016-03-20 Added | Writer : Added method for writing text
2016-03-20 Fixed | Info : Parsing an empty Info list
2016-03-20 Added | String : Added printf-style formatting, utility methods
2016-03-20 Refactor : Relocated native path creation and checking
2016-03-14 PackageLoader : Use a hash for loaded packages
2016-03-12 libgui | ScriptedInfo : Inheritance considered when looking up relative paths
2016-03-12 libgui | ScriptedInfo : Inheritance considered when looking up relative paths
2016-03-09 Profiles : Audiences for profile addition/removal; profiles are deletable
2016-03-08 Fixed | MSVC : Missing include
2016-03-08 Fixed : Joining an empty StringList
2016-03-05 Fixed : Import scripts from loaded packages by default
2016-03-04 Client | Profiles | Refactor : ConfigProfiles uses de::Profiles for serialization
February 2016
2016-02-22 : Variable is Deletable
2016-02-13 Cleanup : No global Public typedefs when using pimpl macros
2016-02-12 Fixed | Widgets : Crash when focused widget is destroyed
2016-02-07 Widgets : Focus behavior improvements
2016-02-05 Fixed | FS : Find all packages under /home
2016-02-01 Date : Parsing from text
January 2016
2016-01-29 Widgets : OperatorRule and dsize; virtual dispatchEvent()
2016-01-24 FS | Packages : Looking up files that contain packages
2016-01-24 App | Loop : Improvements
2016-01-23 FS : Listing loaded packages as files
2016-01-20 Garbage : Avoid crash at shutdown
2016-01-20 FS : Selecting alternative packages, versioned IDs
2016-01-20 String : Joining a StringList
2016-01-20 Fixed | FS : Indexing packages with versions; LinkFile in file listing
2016-01-19 Added | String : Added path concatenation operator
2016-01-19 Added | Record : Added variadic template for creating a record with members
2016-01-17 Fixed : Avoid crash at shutdown
2016-01-17 FileIndex : Cannot look for files inside single-file packages
2016-01-17 PackageLoader : Allow LinkFiles to be loaded as packages
2016-01-17 File : Simpler file descriptions in non-debug builds
2016-01-17 FS : Keep existing folders when populating subfolders
2016-01-17 Package | Refactor : Initializing package metadata record
2016-01-17 Added | Version : Added support for a version label string (x.y.z-label)
2016-01-17 Fixed | NumberValue : Showing a large integer as hexadecimal
2016-01-17 Info : Default implicit block type ("group")
2016-01-13 Added | Math : Added a function for calculating CRC32
2016-01-12 : Minor API additions in several classes
2016-01-12 FS : Avoid using incorrect feed for a subfolder
2016-01-10 Info : Flag for values read from quoted string literals
2016-01-01 Added | Scripting : Added method to query NumberValue semantic hints
December 2015
2015-12-29 Fixed : Potential crash (accessing deleted object)
2015-12-26 Math : de::wrap asserts that the range is valid
2015-12-20 Fixed | Info : Correct handling of value-terminating semicolons
2015-12-19 FS : PackageLoader unloads all packages at shutdown
2015-12-19 libappfw | Log : New formatting for entry section metadata
2015-12-18 FS : Finding files in packages; package load/unload notifications
2015-12-18 Log : Improved monospaced log entry formatting
2015-12-18 InfoBank : Removing items based on where they are from
2015-12-10 : Getter for dictionaries using RecordAccessor
November 2015
2015-11-26 Doom | Log : Interactive script output bypasses filtering
2015-11-23 Added | Model Renderer : Added `worldOffset` for model assets
2015-11-22 Added | Qt : Added macros for checking Qt versions 5.4+
2015-11-15 Fixed | Scripting : `dir()` should return an alphabetically sorted list
2015-11-10 Vector : Accessing Vector data as an array
2015-11-10 ByteRefArray : Template for casting the array pointer
2015-11-10 Documentation : Design considerations of de::BitField
2015-11-03 Record : Use hash-based member tables for efficient lookups
October 2015
2015-10-30 Cleanup : Accessing built-in script classes; setting super record
2015-10-30 Fixed : PackageLoader reports Doomsday Script parsing errors
2015-10-30 Scripting : RecordValue is now derived from RecordAccessor
2015-10-27 Info : Report a syntax error if block attribute is missing a value
2015-10-26 PackageLoader : Log syntax errors in package metadata
2015-10-24 Added : Added SourceLineTable, used it in Info and ScriptedInfo
2015-10-24 Bank : Improved log output from Bank
2015-10-18 : Minor improvements
2015-10-18 Record | Refactor : Iterating subrecords using a std::function
2015-10-17 Bank : Allow changing the default path separator character
2015-10-17 Documentation : FileSystem API doc clarifications
2015-10-17 FS : Improved error messages thrown in Folder::locate()
2015-10-16 FS | Refactor : Registering new File interpreters
2015-10-16 Added : Added new AS_IS method expectedAs<>()
2015-10-16 Added : Added new AS_IS method expectedAs<>()
2015-10-15 Package : Log entry formatting
2015-10-14 Cleanup : Cleanup
2015-10-12 : More flexible applyFlagOperation() template
September 2015
2015-09-24 Added | Range : Added a method for random number generation
2015-09-19 Debug | Unix : Keeping track of where Counted objects are created
2015-09-17 Config : Doomsday Script import override paths
2015-09-17 Cleanup : Cleanup
2015-09-14 Added | Scripting : Added built-in typeof() for checking value types
August 2015
2015-08-25 Added : Added Select operator rule, copy constructor for Vector2<>
2015-08-24 Fixed | FS : Checking LinkFiles for pruning
2015-08-24 Garbage : C++ helper for putting objects in the trash
2015-08-23 FS : Querying a package's tags as a list
2015-08-20 FS : Finding all available packages
2015-08-19 Added : Added Deletable; made use of NativeValue safe
2015-08-18 PackageLoader : Finding all files that appear to be packages
2015-08-18 Info | Scripting : No exception when parsing an embedded script
2015-08-18 Scripting : Don't throw an exception when out of source text
2015-08-18 Range : Constructing a Range from a Value
2015-08-17 Fixed | Info : Included documents must use same language rules
2015-08-17 Scripting : Rewinding Scheduler to a specific point in time
2015-08-17 Added | Cleanup | Scripting : Added Core.Animation bindings
2015-08-17 Added | Scripting : Added NativeValue to facilitate native bindings
2015-08-17 Function : Default argument values for function binding macro
2015-08-17 Info | Refactor : Don't throw exceptions when parsing values
2015-08-17 Info | Refactor : Don't throw exceptions when parsing values
2015-08-16 Scripting : Scheduler's Clock can override the default context
2015-08-16 Refactor : Scheduler has a Clock for execution state
2015-08-16 ScriptedInfo | Scripting : Processing attributes of script blocks
2015-08-16 Info | Scripting : Script blocks meant for deferred execution
2015-08-16 Added | Scripting : Added Scheduler for time-based script execution
2015-08-09 : Changed license of de::Partition to LGPL 3
2015-08-09 Info : Implicit block type
2015-08-09 Scripting : Sorting ScriptedInfo records by source order
2015-08-09 Scripting : Inheriting from sibling blocks
2015-08-05 Refactor : Moved de::Partition to libcore
2015-08-05 Refactor | StringPool : Use C++11 for iterating interned strings in StringPool
2015-08-03 Scripting : Further variants of ScriptedInfo::isTrue/isFalse
July 2015
2015-07-21 Matrix : Mirroring a frame matrix
2015-07-21 Scripting : Determining values to be semantically true
2015-07-20 Scripting : Determining values to be semantically false
2015-07-20 Scripting : Determining values to be semantically false
2015-07-07 Added | Scripting : Added Core.importPath() to show module import path
2015-07-07 Fixed | Package : Absolute paths in package's import path
2015-07-07 Cleanup | Record : Cleanup of text output
2015-07-05 Scripting : Early termination for "and" and "or" operators
2015-07-05 Record : Shorter text representation of records
June 2015
2015-06-04 Git : Use all tags for describing the git revision
2015-06-02 Added | Client : Added Git information to About dialog and version info
May 2015
2015-05-24 Added | App : Added -libdir option and a fallback for the Unix plugin dir
2015-05-06 Fixed | Time : Missing conversion of Time to text
2015-05-06 Fixed | Time : Missing conversion of Time to text
2015-05-06 Fixed | libgui : Use Qt serialization format 4.8
2015-05-06 Fixed | libgui : Use Qt serialization format 4.8
March 2015
2015-03-02 Added | Documentation | Doxygen : Added missing argument
February 2015
2015-02-22 Fixed | ScriptSystem : Possible crash when importing modules
2015-02-22 Fixed | ScriptSystem : Possible crash when importing modules
2015-02-18 OS X : Detect .bundle format plugins
2015-02-17 App | OS X : Built-in basedir for command line apps
2015-02-12 Animation | Fixed : Potential crash during animation
January 2015
2015-01-06 Fixed | JSON : Error when parsing whitespace in JSON
November 2014
2014-11-30 Added | Documentation | String : Added comment about default codec
2014-11-26 SavedSession : Adjusted text styling of metadata
2014-11-26 SavedSession : Record's text formatting expects monospaced fonts
2014-11-09 String | TokenBuffer : Case sensitive copy-free string equality method
2014-11-08 TokenBuffer : Checking for token equality
2014-11-08 Fixed | String : Out-of-bounds memory access (leading to crash)
2014-11-08 Refactor | Script : Apply PIMPL in the Script class
2014-11-02 Performance : Avoid unnecessary mutex locking
2014-11-02 Debug | Unix : Macro to generate backtrace as a string
2014-11-02 Log : Multithreading robustness
2014-11-01 Widget : Setting a widget's root manually
October 2014
2014-10-31 Fixed | Scripting : Memory leak in expression evaluator
2014-10-30 Cleanup : Cleanup
2014-10-30 ArrayExpression | Fixed : Memory leak
2014-10-29 Added | RuleRectangle : Added convenience method for defining mid X/Y rules
2014-10-27 Config : Check config script's package's timestamp
2014-10-27 App : Accessing persistent data in read-only or mutable mode
2014-10-22 Fixed | TaskPool : Completing a pool while it is being destroyed
2014-10-22 Fixed | Lockable : Issue with the mutex lock counter
2014-10-21 Lockable : Check that mutexes are unlocked before destruction
2014-10-21 TaskPool : Redesigned shutdown procedure
2014-10-20 Animation | Fixed : Updating current time
2014-10-20 Documentation : Elaborated on TaskPool's "done" status
2014-10-18 : Better generic "for" pattern for C++11 style iterator methods
2014-10-16 Added | FS : Added methods for iterating all found files
2014-10-12 Fixed | Xcode : Fixed a bunch of benign integer conversion warnings
August 2014
2014-08-25 Package : Package info file can also be named "Info.dei"
2014-08-21 Vector : Generic component swizzling
2014-08-16 Bank | InfoBank : Multiple source files combined to a single namespace
2014-08-16 ScriptedInfo : Observing newly parsed block records
2014-08-16 Added | Variable : Added an automatic cast to non-const Record
2014-08-15 Bank : Use the class name when throwing exceptions
2014-08-14 Added | App : Added utility for finding files from loaded packages
2014-08-14 libgui | qmake : Building and deploying packages
2014-08-14 Added | libgui : Added more Core.String bindings, gui.dpiScaledImagePath()
2014-08-12 Vector : Decomposing a Vector3 into an array
2014-08-09 Added | Matrix : Added Matrix4::frame()
2014-08-09 Added | Bank : Added new priority level, isLoaded() method, iterate()
2014-08-06 Vector : Decomposing a Vector4 into an array
2014-08-04 libcommon | Refactor : Removed use of auto_ptr
2014-08-04 libcommon | Refactor : Removed use of auto_ptr
2014-08-04 ScriptedInfo : Utility method for listing typed subrecords
2014-08-04 ScriptedInfo : Utility method for listing typed subrecords
2014-08-04 Record | Refactor : Trying out C++11 for listing subrecords
2014-08-04 Record | Refactor : Trying out C++11 for listing subrecords
2014-08-03 Added | RecordAccessor : Added a has() method
2014-08-03 Math : Random numbers
July 2014
2014-07-31 Fixed | Record : Assignment causes notifications about members
2014-07-31 Fixed | Variable : Notification about value changes
2014-07-28 RecordAccessor : Utility method for accessing a subrecord
2014-07-28 RecordAccessor : Utility method for accessing a subrecord
2014-07-25 SavedSession : SavedSession::metadata now records the current episode
2014-07-18 Fixed : Path::Segment comparison operator against a text string
2014-07-17 Package : Print package metadata as a dev log message
2014-07-17 FS : Assets in packages
2014-07-15 FS : Order for packages, finding files in packages
2014-07-14 FS : Custom indices in the file system
2014-07-09 Added | FS | Refactor : Added FileIndex as a separate class
2014-07-04 FS : Package metadata is kept in a "package" subrecord
2014-07-04 Record | Refactor | Scripting : Handling super records
2014-07-04 Added | FS | Scripting : Added built-in functions 'File' and 'globals'
2014-07-03 Refactor : ArrayValue based on QList
2014-07-03 Cleanup : Removed the thisPublic member of de::Private
2014-07-03 Client | Resources : Renamed built-in packages hierarchically
2014-07-03 PackageFeed : Links to loaded packages use the package identifier
2014-07-03 FS : Improved FS finding API and Package loading
2014-07-03 Fixed | FS : Following a path that ends with "." or ".."
2014-07-03 Scripting : Parsing ScriptedInfo into an existing namespace
2014-07-02 Added | FS : Added Package, PackageLoader, PackageFeed
2014-07-02 : Minor improvements
2014-07-02 Refactor : Renamed PackageFolder => ArchiveFolder
June 2014
2014-06-30 Added | PathTreeT : Added tryFind() specializations to PathTreeT
2014-06-30 Added | FS : Added LinkFile for symbolic links
2014-06-30 Added | FS | Refactor : Added a Node base class for files
2014-06-30 Added : Added PathRef utility class
2014-06-15 Added | Scripting : Added built-in "dir" function
2014-06-13 Scripting : Parsing and executing a scope statement
2014-06-13 Scripting : Renamed the built-in "Script" module to "Core"
2014-06-13 Added | Scripting : Added the name scope keyword (->)
2014-06-13 Scripting : More legibility for printed records
2014-06-13 Cleanup : Renamed serialization protocol version enums
2014-06-13 Added | Scripting : Added ScopeStatement
2014-06-11 Refactor : Apply pimpl in Process
2014-06-11 Scripting : Instantiating a class record
2014-06-11 Scripting : Core functionality for object-oriented classes
2014-06-11 App | Config : Allow running without /modules, config script
2014-06-09 Added | Fixed | Windows : Noise from Windows system headers, added missing exports
2014-06-09 TaskPool : Ensure pool is not deleted when the last task finishes
2014-06-08 Range : Making a range with a start point and size
2014-06-08 Scripting : Listing language keywords and built-in identifiers
2014-06-08 Scripting : Querying all native modules
2014-06-08 Documentation : Container iteration macros
2014-06-03 Fixed | Scripting : Duplicating values with no ownership
2014-06-02 Doom | Fixed | liblegacy | Windows : File path encoding issues
May 2014
2014-05-31 NumberValue : Include the "Hex" semantic flag in serialization
2014-05-31 Fixed | Scripting : RecordValue duplication behavior
2014-05-30 Added | NumberValue : Added a semantic hint for hexadecimal values
2014-05-30 Refactor : Convenient native access to a Record
2014-05-25 Scripting : Utilities for working with ArrayValue as a vector
2014-05-18 Added : Added more audiences in Record and Variable
2014-05-18 ArrayValue | Cleanup : Cleanup in printing records
2014-05-18 ScriptSystem : Removing native modules
2014-05-18 Added | String : Added method to make only the first character uppercase
2014-05-18 Observers : Querying if an observer is part of the audience
2014-05-18 DictionaryValue : Removing values by key
2014-05-18 Refactor : Apply pimpl in RecordValue
2014-05-16 Cleanup : Typo in apidoc
2014-05-16 libgui | Log : Set names for individual bank classes
2014-05-13 Fixed | libcommon : File already exists when trying to save game
2014-05-13 Added | FS : Added more log entries about file pruning
2014-05-07 Added | BinaryTree : Added subtree type counting and summary methods to BinaryTree