Alphabetical Index | Tags by Size | Find tag:

libcore (Grouped)

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

Authorship: 99% skyjake, 1% danij

View commits by date

Jump down to:
  Fixed (130)
  Added (120)
  FS (97)
  Scripting (66)
  Cleanup (50)
  Refactor (36)
  Widgets (20)
  Record (16)
  String (16)
  Info (14)
  Performance (11)
  Tests (11)
  App (10)
  Client (9)
  libgui (9)
  Log (9)
  Math (9)
  Network (9)
  Windows (8)
  Documentation (7)
  Optimize (7)
  Time (7)
  Vector (7)
  Bank (6)
  Debug (6)
  Doom (6)
  ScriptedInfo (6)
  Animation (5)
  Package (5)
  PackageLoader (5)
  Socket (5)
  libappfw (4)
  Matrix (4)
  NumberValue (4)
  Path (4)
  Unix (4)
  Block (3)
  Config (3)
  CString (3)
  File (3)
  libcommon (3)
  Profiles (3)
  Qt (3)
  Range (3)
  RecordAccessor (3)
  SavedSession (3)
  ScriptSystem (3)
  TaskPool (3)
  Address (2)
  CommandLine (2)
  Concurrency (2)
  Data (2)
  EventLoop (2)
  Garbage (2)
  InfoBank (2)
  JSON (2)
  Lockable (2)
  Model Renderer (2)
  OS X (2)
  Server (2)
  StringPool (2)
  Timer (2)
  TokenBuffer (2)
  Variable (2)
  Writer (2)
  Amethyst (1)
  ArrayExpression (1)
  ArrayValue (1)
  Async (1)
  BinaryTree (1)
  ByteRefArray (1)
  CMake (1)
  Date (1)
  DictionaryValue (1)
  Doxygen (1)
  FileIndex (1)
  Function (1)
  Git (1)
  Legacy (1)
  liblegacy (1)
  libshell (1)
  Linux (1)
  LogBuffer (1)
  Loop (1)
  MSVC (1)
  MSYS (1)
  NativeFile (1)
  NativePath (1)
  Observers (1)
  PackageFeed (1)
  Packages (1)
  PathTreeT (1)
  qmake (1)
  Reader (1)
  Resources (1)
  RuleRectangle (1)
  Script (1)
  ScriptLex (1)
  ServerFinder (1)
  Version (1)
  Web (1)
  Widget (1)
  Xcode (1)
  ZipArchive (1)
January 2020
2020-01-08 : Future-proofing
August 2019
2019-08-28 : Moved some sources out of source root
2019-08-28 : Renamed "scriptsys" source directory
2019-08-24 : TimeSpan is a simple data type (double)
June 2019
2019-06-15 : Improved union of Rectangles
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 : Improved Observers for multithreading
2019-06-11 : Taking pointers from PointerSet
May 2019
2019-05-31 : de::Map iteration
2019-05-19 : Checking if a thread is finished
December 2018
2018-12-08 : Improved string iteration; App initialization
2018-12-07 : Choose a more unique random seed
November 2018
2018-11-09 : Friendlier friendly time format
2018-11-05 : Querying the size of a Record
2018-11-03 : Improved async() method
October 2018
2018-10-27 : Improved package error handling
2018-10-07 : Auto-clear metadata cache on version change
August 2018
2018-08-20 : API improvements
July 2018
2018-07-28 : Validity check in date parsing
2018-07-28 : Checking the current thread more efficiently
2018-07-27 : EventLoops share the same event queue
2018-07-13 : Adding support for manually-run event loops
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
June 2018
2018-06-25 : Concatenating lists
2018-06-25 : RegExp capture as CString; hash function for Id
2018-06-23 : Recycle garbage at thread exit
2018-06-23 : Running a function right after starting event loop
2018-06-17 : Improved String iterators; lambda observers; stub for Timer
2018-06-17 : Macro trick for determining number of macro arguments
2018-06-16 : Adjusted build configuration to include dependencies
2018-06-13 : Starting start processes with CommandLine
2018-06-12 : File index and config profiles are indexed case-insensitively
2018-06-12 : Various fixes
2018-06-12 : Fixes for DirectoryFeed; Folder uses case-insensitive keys
2018-06-12 : Path manipulation fixes
2018-06-11 : Copying network addresses not really needed
2018-06-11 : Parsing an IPv6 address
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-03 : Continuing removal of Qt dependencies
2018-06-03 : Started removal of Qt dependencies
May 2018
2018-05-13 : Revised byte swapping methods
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
February 2018
2018-02-19 : Locking a mutex without throwing exceptions
November 2017
2017-11-12 : Waiting on async tasks to finish
October 2017
2017-10-31 : New API methods and improvements
2017-10-23 : Various API improvements to core classes
2017-10-22 : Version constructor
2017-10-21 : Cancelling remote file downloads
2017-10-18 : Querying current event loop frequency
2017-10-16 : API improvements
2017-10-14 : Using Waitable and WaitableFIFO without exceptions
2017-10-12 : Improved async utility
February 2017
2017-02-18 : SafePtr is now even safer
2017-02-15 : Banks can decide whether to serialize individual items
2017-02-14 : Serializing a container of elements
2017-02-14 : Conveniently checking if String and Block are empty
2017-02-12 : PointerSet supports const pointers, too
2017-02-12 : Typed template for PointerSets; finished implementation
2017-02-09 : Use atomic integers for reference counting
2017-02-08 : Mutex guards are always inline
2017-02-08 : Improving thread-safety
2017-02-05 : Convenience method for accessing Config variables
2017-02-03 : Converting to a de::StringList
January 2017
2017-01-15 : Improved time/date parsing from string
2017-01-13 : Config profile change notifications
November 2016
2016-11-07 : Move constructors and move assignment operators
2016-11-06 : Composing JSON and constructing a Value from JSON
2016-11-05 : More flexible applyFlagOperation() template method
July 2016
2016-07-17 : Minor Rule improvements
2016-07-15 : Use inline methods in the PrivateAutoPtr class
2016-07-08 : Checking package identifiers
2016-07-06 : Minor improvements (utility methods)
2016-07-05 : Minor improvements
June 2016
2016-06-20 : Querying record member value as a list of strings
2016-06-10 : API improvements
2016-06-04 : Various minor improvements
April 2016
2016-04-23 : Minor API improvements
March 2016
2016-03-23 : Singleton accessor methods for Config and CommandLine
February 2016
2016-02-22 : Variable is Deletable
January 2016
2016-01-12 : Minor API additions in several classes
December 2015
2015-12-10 : Getter for dictionaries using RecordAccessor
October 2015
2015-10-18 : Minor improvements
2015-10-12 : More flexible applyFlagOperation() template
August 2015
2015-08-09 : Changed license of de::Partition to LGPL 3
October 2014
2014-10-18 : Better generic "for" pattern for C++11 style iterator methods
July 2014
2014-07-02 : Minor improvements

  Fixed (130) — libcore

August 2021
2021-08-07 Fixed | Legacy | MSYS : Fixed warnings about char subscripts
February 2021
2021-02-15 File | Fixed : Incorrect text output formatting
January 2020
2020-01-07 Fixed | Info : Retain original element names
September 2019
2019-09-11 Fixed : Check for DST when constructing a Time
August 2019
2019-08-31 Fixed | FS : Problem populating subfolders
2019-08-31 Fixed : Waiting for task pool completion
2019-08-23 Fixed : Fixed missing namespace for Variant
2019-08-08 Fixed : Improved String concatenation; missing return value
June 2019
2019-06-27 CString | Fixed : Getting a substring
2019-06-11 Fixed : Stopping the Timer thread
2019-06-11 Fixed : Fixed resource leaks
May 2019
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
November 2018
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-03 Fixed : Profile title change notification
October 2018
2018-10-29 Fixed : Misaligned pointer access
August 2018
2018-08-20 Fixed : Validate strings when constructing from bytes
2018-08-08 Fixed | FS : Fixed loading of a remote file repository index
2018-08-02 Fixed | String : Reverse-iterating a multibyte string
July 2018
2018-07-28 Fixed : Parsing a date according to format
2018-07-27 Fixed : Hash/Map value insertion; string debugging
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 Fixed | String : Extracting file name extension
2018-07-16 Fixed : Avoid crash determining size of a null CString
2018-07-15 Fixed : Incorrect implicit String casts
2018-07-15 Fixed : Uninitialized variable in RegExp
2018-07-13 Fixed : Bugs in handling Block data
June 2018
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-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-14 Added | Fixed : Fixed a String constructor; added missing Time conversions
2018-06-13 Added | Fixed | Tests : Fixed bugs, added missing operators
2018-06-12 Fixed : Fixed errors
2018-06-11 Fixed : Fixed all compile errors in libcore; linking still fails
February 2018
2018-02-15 Fixed | Scripting : Crash due to off-by-one string read
October 2017
2017-10-15 Fixed | FS : Fixed accessing remote file content
June 2017
2017-06-19 Client | Fixed | libappfw : More graceful fatal errors
May 2017
2017-05-12 Fixed : Crash when starting in an empty runtime folder
April 2017
2017-04-02 Fixed : Copying a Record to itself causes the Record to be cleared
March 2017
2017-03-14 CommandLine | Fixed : “-v” command line option counted twice
2017-03-04 Fixed : JSON parsing error
February 2017
2017-02-26 Fixed | Widgets : Enabling widgets
2017-02-21 Fixed : Qt warning about thread-local storage
2017-02-19 App | Fixed : Initializing an empty “persist.pack”
2017-02-18 Fixed | FS : Fixes and improvements in the file system
2017-02-15 Fixed | FS : MetadataBank is populated before the rest of the tree
2017-02-14 Fixed : Potential crash when copying records
2017-02-14 Fixed : Problems with Bank contents serialization
2017-02-10 Fixed : Improved thread-safety
2017-02-09 Fixed : Potential crash when shutting down a text-based app
2017-02-07 Fixed : Clarified different version-to-text conversions
2017-02-06 Fixed : Parsing a four-component version number
January 2017
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-03 Fixed : Implemented a missing time comparison case
November 2016
2016-11-26 Fixed : Potential crash
2016-11-25 Fixed | FS : Reinterpreted files are indexed in the file system
2016-11-19 Fixed | Scripting : Parsing negative numbers
2016-11-13 Fixed : Querying the local IP addresses
2016-11-12 Fixed : Improved IPv6 address parsing
2016-11-12 Fixed : IPv6 address parsing
2016-11-09 Fixed : Network address comparisons
2016-11-09 Fixed : JSON parsing error
October 2016
2016-10-18 Fixed | Scripting : Copying record members when types mismatch
July 2016
2016-07-24 Fixed : Inadvertent argument shadowing
2016-07-23 Fixed : Build failure (missing header)
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-01 Fixed | FS : Potential lockup when saving/loading the game
June 2016
2016-06-30 Client | Fixed : Connecting to an IPv6 address
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-20 Fixed : Catch errors when parsing Info documents
2016-06-12 Fixed | Log : Log output file is prematurely closed
2016-06-05 Fixed | Time : Converting a high-performance time to a full timestamp
April 2016
2016-04-24 Fixed : Missing header
March 2016
2016-03-20 Fixed | Info : Parsing an empty Info list
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
February 2016
2016-02-12 Fixed | Widgets : Crash when focused widget is destroyed
2016-02-05 Fixed | FS : Find all packages under /home
January 2016
2016-01-20 Fixed | FS : Indexing packages with versions; LinkFile in file listing
2016-01-17 Fixed : Avoid crash at shutdown
2016-01-17 Fixed | NumberValue : Showing a large integer as hexadecimal
December 2015
2015-12-29 Fixed : Potential crash (accessing deleted object)
2015-12-20 Fixed | Info : Correct handling of value-terminating semicolons
November 2015
2015-11-15 Fixed | Scripting : `dir()` should return an alphabetically sorted list
October 2015
2015-10-30 Fixed : PackageLoader reports Doomsday Script parsing errors
August 2015
2015-08-24 Fixed | FS : Checking LinkFiles for pruning
2015-08-17 Fixed | Info : Included documents must use same language rules
July 2015
2015-07-07 Fixed | Package : Absolute paths in package's import path
May 2015
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
February 2015
2015-02-22 Fixed | ScriptSystem : Possible crash when importing modules
2015-02-22 Fixed | ScriptSystem : Possible crash when importing modules
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-08 Fixed | String : Out-of-bounds memory access (leading to crash)
October 2014
2014-10-31 Fixed | Scripting : Memory leak in expression evaluator
2014-10-30 ArrayExpression | Fixed : Memory leak
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-20 Animation | Fixed : Updating current time
2014-10-12 Fixed | Xcode : Fixed a bunch of benign integer conversion warnings
July 2014
2014-07-31 Fixed | Record : Assignment causes notifications about members
2014-07-31 Fixed | Variable : Notification about value changes
2014-07-18 Fixed : Path::Segment comparison operator against a text string
2014-07-03 Fixed | FS : Following a path that ends with "." or ".."
June 2014
2014-06-09 Added | Fixed | Windows : Noise from Windows system headers, added missing exports
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 Fixed | Scripting : RecordValue duplication behavior
2014-05-13 Fixed | libcommon : File already exists when trying to save game

↑ Back to top

  Added (120) — libcore

January 2020
2020-01-16 Added : Added more Vec typedefs
December 2019
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-12 Added | Math : Added 2D cross product
September 2019
2019-09-03 Added : Added character symbol for Copyright
2019-09-01 Added | String : Added missing += operator
August 2019
2019-08-30 Added | FS : Added method to query file type
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
June 2019
2019-06-15 Added : Added vector floor/ceil functions
December 2018
2018-12-18 Added | Windows : Added missing link library
November 2018
2018-11-18 Added | Widgets : Added a rule pair utility
October 2018
2018-10-20 Added : Added a container mapping template method
September 2018
2018-09-25 Added | Animation : Added a softer ease-out animation style
August 2018
2018-08-02 Added : Added a helper for splitting URI components
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-15 Added : Added a separate Char class to avoid incorrect conversions
2018-07-15 Added : Added EmbeddedApp
2018-07-07 Added | Cleanup : Added de::Stringf() template function; other cleanup
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-27 Added | ScriptLex | String : Added a few missing methods
2018-06-25 Added | CString : Iterating using mb_iterator; added more methods
2018-06-23 Added | Tests : Added ThreadLocal, EventLoop, Timer, CallbackTimer
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-12 Added : Added insensitive String comparator
2018-06-04 Added : Added a Thread class
May 2018
2018-05-30 Added : Added a missing Vector3 method
2018-05-16 Added | Path : Added path splitting utilities; various other cleanups
2018-05-13 Added : Added DataArray template class
February 2018
2018-02-17 Added | Vector : Added a method for calculating area
2018-02-09 Added | Math : Added math functions: mod(), Vector2::cross()
January 2018
2018-01-30 Added | FS : Added option for disabling multithreaded file system updates
October 2017
2017-10-31 Added | Windows : Added a missing export
2017-10-28 Added : Added a helper method for MD5 hashing
2017-10-11 Added : Added async execution utility
2017-10-01 Added | Documentation : Added a method description
July 2017
2017-07-27 Added | String : Added a string conversion method
2017-07-15 Added : Added vector helper method
June 2017
2017-06-18 Added | Scripting : Added a new Scheduler class
March 2017
2017-03-27 Added | Info : Added a string-quoting utility method
2017-03-04 Added | Scripting : Added more Core.String and Core.File bindings
February 2017
2017-02-24 Added : Added template function for filtering a container
2017-02-14 Added | NativePath | Path : Added move constructors
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-11 Added : Added a new utility class
2017-02-01 Added : Added a new constructor for ByteSubArray
January 2017
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 Added | FS : Added utility methods
2017-01-06 Added : Added method for processing all command line option parameters
December 2016
2016-12-10 Added | Scripting : Added new value type for animations
2016-12-07 Added | Record : Added a new utility method
November 2016
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-12 Added | Client | Server : Added ‘Config.apiUrl’; use new web API for master server
October 2016
2016-10-30 Added : Added protocol ID for 2.0.0
September 2016
2016-09-06 Added | Time : Added conversion from TimeDelta to microseconds
July 2016
2016-07-27 Added : Added a utility for converting FlagOp arguments
2016-07-23 Added | Widgets : Added method for walking the widget tree
June 2016
2016-06-17 Added | FS : Added a common string as a Package class member
2016-06-11 Added : Added conversion of DOS code page 437 to Unicode
April 2016
2016-04-19 Added : Added IAssetGroup interface
March 2016
2016-03-20 Added | Writer : Added method for writing text
2016-03-20 Added | String : Added printf-style formatting, utility methods
January 2016
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 Added | Version : Added support for a version label string (x.y.z-label)
2016-01-13 Added | Math : Added a function for calculating CRC32
2016-01-01 Added | Scripting : Added method to query NumberValue semantic hints
November 2015
2015-11-23 Added | Model Renderer : Added `worldOffset` for model assets
2015-11-22 Added | Qt : Added macros for checking Qt versions 5.4+
October 2015
2015-10-24 Added : Added SourceLineTable, used it in Info and ScriptedInfo
2015-10-16 Added : Added new AS_IS method expectedAs<>()
2015-10-16 Added : Added new AS_IS method expectedAs<>()
September 2015
2015-09-24 Added | Range : Added a method for random number generation
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-19 Added : Added Deletable; made use of NativeValue safe
2015-08-17 Added | Cleanup | Scripting : Added Core.Animation bindings
2015-08-17 Added | Scripting : Added NativeValue to facilitate native bindings
2015-08-16 Added | Scripting : Added Scheduler for time-based script execution
July 2015
2015-07-07 Added | Scripting : Added Core.importPath() to show module import path
June 2015
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
March 2015
2015-03-02 Added | Documentation | Doxygen : Added missing argument
November 2014
2014-11-30 Added | Documentation | String : Added comment about default codec
October 2014
2014-10-29 Added | RuleRectangle : Added convenience method for defining mid X/Y rules
2014-10-16 Added | FS : Added methods for iterating all found files
August 2014
2014-08-16 Added | Variable : Added an automatic cast to non-const Record
2014-08-14 Added | App : Added utility for finding files from loaded packages
2014-08-14 Added | libgui : Added more Core.String bindings, gui.dpiScaledImagePath()
2014-08-09 Added | Matrix : Added Matrix4::frame()
2014-08-09 Added | Bank : Added new priority level, isLoaded() method, iterate()
2014-08-03 Added | RecordAccessor : Added a has() method
July 2014
2014-07-09 Added | FS | Refactor : Added FileIndex as a separate class
2014-07-04 Added | FS | Scripting : Added built-in functions 'File' and 'globals'
2014-07-02 Added | FS : Added Package, PackageLoader, PackageFeed
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 Added | Scripting : Added the name scope keyword (->)
2014-06-13 Added | Scripting : Added ScopeStatement
2014-06-09 Added | Fixed | Windows : Noise from Windows system headers, added missing exports
May 2014
2014-05-30 Added | NumberValue : Added a semantic hint for hexadecimal values
2014-05-18 Added : Added more audiences in Record and Variable
2014-05-18 Added | String : Added method to make only the first character uppercase
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

↑ Back to top

  FS (97) — libcore

December 2020
2020-12-29 FS : Interpret folders as well (e.g., ".box")
August 2019
2019-08-31 Fixed | FS : Problem populating subfolders
2019-08-30 Added | FS : Added method to query file type
2019-08-27 FS : Disabling file interpretation on DirectoryFeed
2019-08-25 FS : Improved native directory population
2019-08-25 FS : Populating a folder outside the file system
June 2019
2019-06-05 FS | Performance : Performance tuning
November 2018
2018-11-22 Fixed | FS : Crash when disconnecting from server
2018-11-08 Cleanup | FS : Deleting directories; cleanup
2018-11-07 FS : Accessing native files
2018-11-04 FS : Improved API convenience
2018-11-03 FS : Querying the file system busy status
October 2018
2018-10-29 FS : Tracking file system busy level
2018-10-07 FS : API convenience
August 2018
2018-08-08 Fixed | FS : Fixed loading of a remote file repository index
2018-08-05 FS | Network : Updated remote file system classes
May 2018
2018-05-30 FS : Refreshing the /packs folder
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-04 FS : Package version may be checked from the file metadata
October 2017
2017-10-31 FS : Package identifier may be specified in metadata only
2017-10-31 FS : Downloading files from a web-hosted package repository
2017-10-23 FS : Clarified waiting behavior when populating file system
2017-10-21 FS : Safe file removal
2017-10-21 FS : Renamed cached remote files; notify about download progress
2017-10-17 FS : Improved behavior of linked packages
2017-10-17 FS : Finding linked files
2017-10-15 Fixed | FS : Fixed accessing remote file content
September 2017
2017-09-10 FS | Scripting : Writing files using Doomsday Script
March 2017
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
February 2017
2017-02-26 FS : Adjusted log entry verbosity when updating archives
2017-02-19 FS : Modifying File flags more conveniently
2017-02-18 Fixed | FS : Fixes and improvements in the file system
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 FS : Metadata of “persist.pack” should never be cached
2017-02-14 FS | Performance : Cache ZIP metadata
2017-02-13 Added | FS : Utility method added
2017-02-12 Added | FS : Added MetadataBank for caching ZIP archive metadata
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-04 FS : Human-readable package ID and version text
2017-02-03 FS : Minor version numbering improvements
January 2017
2017-01-23 Fixed | FS : Minor memory leak when shutting down the file system
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-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 Added | FS : Added utility methods
2017-01-06 FS : Manually populating a single native file
November 2016
2016-11-26 FS : Finding a loaded package based on a file
2016-11-25 Fixed | FS : Reinterpreted files are indexed in the file system
July 2016
2016-07-30 FS : Make everything under "/sys" writable
2016-07-27 FS : Adjusted file descriptions
2016-07-16 FS : Compiling a full list of packages including dependencies
2016-07-01 Fixed | FS : Potential lockup when saving/loading the game
June 2016
2016-06-26 FS : Asynchronous folder population and FS refresh
2016-06-26 FS : No errors about empty container packages without metadata
2016-06-25 FS : Folder concurrency
2016-06-24 Debug | FS : More verbose file source description
2016-06-17 Added | FS : Added a common string as a Package class member
2016-06-10 Cleanup | FS : Checking package tags; cleanup
2016-06-04 FS : Utility method for adding new package dependencies
May 2016
2016-05-08 FS : Handling archive folders
2016-05-08 FS : Don't try to write changes to read-only archives
March 2016
2016-03-29 FS : Improved support for symbolic file links
2016-03-20 FS : Standalone native files; writing to native folders
February 2016
2016-02-05 Fixed | FS : Find all packages under /home
January 2016
2016-01-24 FS | Packages : Looking up files that contain packages
2016-01-23 FS : Listing loaded packages as files
2016-01-20 FS : Selecting alternative packages, versioned IDs
2016-01-20 Fixed | FS : Indexing packages with versions; LinkFile in file listing
2016-01-17 FS : Keep existing folders when populating subfolders
2016-01-12 FS : Avoid using incorrect feed for a subfolder
December 2015
2015-12-19 FS : PackageLoader unloads all packages at shutdown
2015-12-18 FS : Finding files in packages; package load/unload notifications
October 2015
2015-10-17 FS : Improved error messages thrown in Folder::locate()
2015-10-16 FS | Refactor : Registering new File interpreters
August 2015
2015-08-24 Fixed | FS : Checking LinkFiles for pruning
2015-08-23 FS : Querying a package's tags as a list
2015-08-20 FS : Finding all available packages
October 2014
2014-10-16 Added | FS : Added methods for iterating all found files
July 2014
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 Added | FS | Scripting : Added built-in functions 'File' and 'globals'
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-02 Added | FS : Added Package, PackageLoader, PackageFeed
June 2014
2014-06-30 Added | FS : Added LinkFile for symbolic links
2014-06-30 Added | FS | Refactor : Added a Node base class for files
May 2014
2014-05-13 Added | FS : Added more log entries about file pruning

↑ Back to top

  Scripting (66) — libcore

December 2020
2020-12-06 Scripting : Implement bitwise operators
January 2020
2020-01-18 Scripting : Converting a number to uint32
December 2019
2019-12-21 Added | Scripting : Added more Math functions
December 2018
2018-12-15 Scripting : Keep track of script source line numbers
November 2018
2018-11-25 Scripting : Improved handling of int/uint numbers
2018-11-18 Scripting : Accessing native/imported modules
2018-11-17 Scripting : “import” overwrites existing variable
2018-11-03 Scripting : Finding index of value in array
September 2018
2018-09-30 Scripting : Checking if a particular native module exists
June 2018
2018-06-16 Scripting : TextValue is indexable and iterable
February 2018
2018-02-15 Fixed | Scripting : Crash due to off-by-one string read
September 2017
2017-09-10 FS | Scripting : Writing files using Doomsday Script
June 2017
2017-06-18 Added | Scripting : Added a new Scheduler class
2017-06-18 Model Renderer | Scripting : Script callbacks for model state change
March 2017
2017-03-18 Scripting : Constructing an ArrayValue out of StringList
2017-03-04 Added | Scripting : Added more Core.String and Core.File bindings
February 2017
2017-02-04 Scripting : Converting an ArrayValue to StringList
January 2017
2017-01-28 Scripting : Making copies of records vs. read-only variables
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
December 2016
2016-12-10 Added | Scripting : Added new value type for animations
November 2016
2016-11-19 Fixed | Scripting : Parsing negative numbers
2016-11-17 Cleanup | Scripting : Cleanup
2016-11-17 Scripting : Parsing multi-line comments
October 2016
2016-10-18 Fixed | Scripting : Copying record members when types mismatch
August 2016
2016-08-23 Scripting : Checking for substrings in text values
January 2016
2016-01-01 Added | Scripting : Added method to query NumberValue semantic hints
November 2015
2015-11-15 Fixed | Scripting : `dir()` should return an alphabetically sorted list
October 2015
2015-10-30 Scripting : RecordValue is now derived from RecordAccessor
September 2015
2015-09-14 Added | Scripting : Added built-in typeof() for checking value types
August 2015
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-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-16 Scripting : Scheduler's Clock can override the default context
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 Scripting : Sorting ScriptedInfo records by source order
2015-08-09 Scripting : Inheriting from sibling blocks
2015-08-03 Scripting : Further variants of ScriptedInfo::isTrue/isFalse
July 2015
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-05 Scripting : Early termination for "and" and "or" operators
October 2014
2014-10-31 Fixed | Scripting : Memory leak in expression evaluator
July 2014
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 Scripting : Parsing ScriptedInfo into an existing namespace
June 2014
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 Added | Scripting : Added ScopeStatement
2014-06-11 Scripting : Instantiating a class record
2014-06-11 Scripting : Core functionality for object-oriented classes
2014-06-08 Scripting : Listing language keywords and built-in identifiers
2014-06-08 Scripting : Querying all native modules
2014-06-03 Fixed | Scripting : Duplicating values with no ownership
May 2014
2014-05-31 Fixed | Scripting : RecordValue duplication behavior
2014-05-25 Scripting : Utilities for working with ArrayValue as a vector

↑ Back to top

  Cleanup (50) — libcore

September 2019
2019-09-12 Cleanup | ServerFinder : Cleanup
2019-09-08 Cleanup : Systems do not handle events
August 2019
2019-08-27 Cleanup | Path : More efficient sub-path method; some cleanup
2019-08-26 Cleanup : Simplify the Rule classes
2019-08-24 Cleanup : Improved Info parser
November 2018
2018-11-08 Cleanup | FS : Deleting directories; cleanup
July 2018
2018-07-24 Cleanup : Cleanup
2018-07-15 Cleanup : Cleanup
2018-07-07 Added | Cleanup : Added de::Stringf() template function; other cleanup
June 2018
2018-06-28 Cleanup : Cleanup
2018-06-23 Cleanup | Timer : Cleanup
2018-06-23 Cleanup | Tests : Event loop return code; cleanup
2018-06-20 Cleanup : Cleanup
2018-06-16 Cleanup | Fixed | Tests : Fixed up the scripting tests; cleanup
2018-06-13 Cleanup : Cleanup
2018-06-11 Cleanup | Tests : Cleanup, fixes, and improvements
November 2017
2017-11-18 Cleanup : String API
2017-11-01 Cleanup : Converting a Record to Info syntax; various cleanups
October 2017
2017-10-23 Cleanup | Refactor : Cleanup
2017-10-17 Cleanup : Cleanup
February 2017
2017-02-15 Cleanup | FS : Destroying folder contents; MetadataBank API cleanup
2017-02-12 Cleanup : Use C++11 standard mutex class
2017-02-12 Cleanup : Cleanup
January 2017
2017-01-26 Amethyst | Cleanup : Deprecated QChar behavior
December 2016
2016-12-10 Cleanup : Deserializing Id generators, cleanup
November 2016
2016-11-17 Cleanup | Scripting : Cleanup
2016-11-17 Cleanup | Refactor : UTF-8 string conversion; lexer/parser classes
2016-11-08 Cleanup | libshell : Show local addresses always as "localhost"
2016-11-06 Cleanup : Cleanup and new data utlities
July 2016
2016-07-29 Cleanup : Undefined more conflicting X11 defines
2016-07-26 Cleanup : Removed unused BinaryTree C wrapper
2016-07-25 Cleanup : Disambiguate the BinaryTree C wrapper
2016-07-23 Cleanup : Renamed NativeValue to NativePointerValue
2016-07-09 Cleanup : Byte order terminology
June 2016
2016-06-27 Cleanup | Fixed | libappfw : Observers concurrency and cleanup
2016-06-10 Cleanup | FS : Checking package tags; cleanup
2016-06-02 Cleanup : Cleanup
April 2016
2016-04-23 Cleanup : Allocate fewer rules for each rule rectangle
March 2016
2016-03-23 Cleanup | Refactor : Cleanup of Writer/Reader method naming
February 2016
2016-02-13 Cleanup : No global Public typedefs when using pimpl macros
October 2015
2015-10-30 Cleanup : Accessing built-in script classes; setting super record
2015-10-14 Cleanup : Cleanup
September 2015
2015-09-17 Cleanup : Cleanup
August 2015
2015-08-17 Added | Cleanup | Scripting : Added Core.Animation bindings
July 2015
2015-07-07 Cleanup | Record : Cleanup of text output
October 2014
2014-10-30 Cleanup : Cleanup
July 2014
2014-07-03 Cleanup : Removed the thisPublic member of de::Private
June 2014
2014-06-13 Cleanup : Renamed serialization protocol version enums
May 2014
2014-05-18 ArrayValue | Cleanup : Cleanup in printing records
2014-05-16 Cleanup : Typo in apidoc

↑ Back to top

  Refactor (36) — libcore

January 2020
2020-01-09 Refactor : Renamed Map to KeyMap
October 2017
2017-10-23 Cleanup | Refactor : Cleanup
February 2017
2017-02-14 Refactor : Updated de::Path with current conventions
2017-02-12 FS | Optimize | Refactor : Proper script bindings File and Folder
2017-02-12 Refactor : Observers now uses PointerSet for its members
November 2016
2016-11-17 Cleanup | Refactor : UTF-8 string conversion; lexer/parser classes
2016-11-01 Doom | Performance | Refactor : More efficient sprite definitions
July 2016
2016-07-21 Refactor | Widgets : Utility for setting up a widget draw
June 2016
2016-06-26 Qt | Refactor : Compatibility with older Qt versions
2016-06-18 Refactor : Audience members are automatically removed upon deletion
2016-06-05 Refactor | Widgets : Improved child widget addition
2016-06-05 Client | Refactor : Improved Version class API
March 2016
2016-03-23 Cleanup | Refactor : Cleanup of Writer/Reader method naming
2016-03-20 Refactor : Relocated native path creation and checking
2016-03-04 Client | Profiles | Refactor : ConfigProfiles uses de::Profiles for serialization
January 2016
2016-01-17 Package | Refactor : Initializing package metadata record
October 2015
2015-10-18 Record | Refactor : Iterating subrecords using a std::function
2015-10-16 FS | Refactor : Registering new File interpreters
August 2015
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 Refactor : Scheduler has a Clock for execution state
2015-08-05 Refactor : Moved de::Partition to libcore
2015-08-05 Refactor | StringPool : Use C++11 for iterating interned strings in StringPool
November 2014
2014-11-08 Refactor | Script : Apply PIMPL in the Script class
August 2014
2014-08-04 libcommon | Refactor : Removed use of auto_ptr
2014-08-04 libcommon | Refactor : Removed use of auto_ptr
2014-08-04 Record | Refactor : Trying out C++11 for listing subrecords
2014-08-04 Record | Refactor : Trying out C++11 for listing subrecords
July 2014
2014-07-09 Added | FS | Refactor : Added FileIndex as a separate class
2014-07-04 Record | Refactor | Scripting : Handling super records
2014-07-03 Refactor : ArrayValue based on QList
2014-07-02 Refactor : Renamed PackageFolder => ArchiveFolder
June 2014
2014-06-30 Added | FS | Refactor : Added a Node base class for files
2014-06-11 Refactor : Apply pimpl in Process
May 2014
2014-05-30 Refactor : Convenient native access to a Record
2014-05-18 Refactor : Apply pimpl in RecordValue

↑ Back to top

  Widgets (20) — libcore

September 2019
2019-09-06 Widgets : API improvement for setting focus
August 2019
2019-08-27 Widgets : Method for creating and adding a child widget
July 2019
2019-07-12 Widgets : Helper for centering within a rectangle
November 2018
2018-11-18 Added | Widgets : Added a rule pair utility
2018-11-17 Widgets : Common DPI rule; waiting for assets
2018-11-14 Widgets : Checking for layout rectangle validity
2018-11-04 Widgets : Finding a parent widget of certain type
February 2017
2017-02-26 Fixed | Widgets : Enabling widgets
2017-02-12 Optimize | Widgets : Use PointerSet for rule dependency tracking
January 2017
2017-01-29 Widgets : Disabled focused widget relinquishes focus
November 2016
2016-11-22 Added | Widgets : Added a zero constant rule that can be used everywhere
August 2016
2016-08-01 libappfw | Widgets : Basic navigation with arrow keys
July 2016
2016-07-23 Added | Widgets : Added method for walking the widget tree
2016-07-21 Refactor | Widgets : Utility for setting up a widget draw
June 2016
2016-06-05 Refactor | Widgets : Improved child widget addition
April 2016
2016-04-22 Animation | Widgets : Improved animated layout rules
2016-04-13 Widgets : Checking for a potential ancestor widget
February 2016
2016-02-12 Fixed | Widgets : Crash when focused widget is destroyed
2016-02-07 Widgets : Focus behavior improvements
January 2016
2016-01-29 Widgets : OperatorRule and dsize; virtual dispatchEvent()

↑ Back to top

  Record (16) — libcore

December 2019
2019-12-21 Record : Utility for removing members
August 2018
2018-08-01 Added | Record : Added an isEmpty() method
October 2017
2017-10-31 Record : Finding a variable from a record
December 2016
2016-12-07 Added | Record : Added a new utility method
July 2016
2016-07-17 Record : Record supports multithreaded access
2016-07-02 Record : Appending a word to a variable
June 2016
2016-06-01 Record : Creating or finding an existing subrecord
January 2016
2016-01-19 Added | Record : Added variadic template for creating a record with members
November 2015
2015-11-03 Record : Use hash-based member tables for efficient lookups
October 2015
2015-10-18 Record | Refactor : Iterating subrecords using a std::function
July 2015
2015-07-07 Cleanup | Record : Cleanup of text output
2015-07-05 Record : Shorter text representation of records
August 2014
2014-08-04 Record | Refactor : Trying out C++11 for listing subrecords
2014-08-04 Record | Refactor : Trying out C++11 for listing subrecords
July 2014
2014-07-31 Fixed | Record : Assignment causes notifications about members
2014-07-04 Record | Refactor | Scripting : Handling super records

↑ Back to top

  String (16) — libcore

March 2020
2020-03-01 String : Removed redundant method
September 2019
2019-09-01 Added | String : Added missing += operator
May 2019
2019-05-20 String : Splitting an empty string
2019-05-18 Fixed | String : Use of uninitialized value
August 2018
2018-08-02 Fixed | String : Reverse-iterating a multibyte string
July 2018
2018-07-19 Fixed | String : Extracting file name extension
June 2018
2018-06-27 Added | ScriptLex | String : Added a few missing methods
2018-06-18 String : Prepending individual characters
July 2017
2017-07-27 Added | String : Added a string conversion method
March 2016
2016-03-20 Added | String : Added printf-style formatting, utility methods
January 2016
2016-01-20 String : Joining a StringList
2016-01-19 Added | String : Added path concatenation operator
November 2014
2014-11-30 Added | Documentation | String : Added comment about default codec
2014-11-09 String | TokenBuffer : Case sensitive copy-free string equality method
2014-11-08 Fixed | String : Out-of-bounds memory access (leading to crash)
May 2014
2014-05-18 Added | String : Added method to make only the first character uppercase

↑ Back to top

  Info (14) — libcore

January 2020
2020-01-07 Fixed | Info : Retain original element names
November 2018
2018-11-05 Info : Converting an Info block to a Record
March 2017
2017-03-27 Added | Info : Added a string-quoting utility method
March 2016
2016-03-20 Fixed | Info : Parsing an empty Info list
January 2016
2016-01-17 Info : Default implicit block type ("group")
2016-01-10 Info : Flag for values read from quoted string literals
December 2015
2015-12-20 Fixed | Info : Correct handling of value-terminating semicolons
October 2015
2015-10-27 Info : Report a syntax error if block attribute is missing a value
August 2015
2015-08-18 Info | Scripting : No exception when parsing an embedded script
2015-08-17 Fixed | Info : Included documents must use same language rules
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 Info | Scripting : Script blocks meant for deferred execution
2015-08-09 Info : Implicit block type

↑ Back to top

  Performance (11) — libcore

June 2019
2019-06-05 FS | Performance : Performance tuning
February 2017
2017-02-14 FS | Performance : Cache ZIP metadata
2017-02-02 Network | Performance : Keep local IP addresses cached
January 2017
2017-01-21 Performance : Checking current animation time
November 2016
2016-11-01 Doom | Performance | Refactor : More efficient sprite definitions
October 2016
2016-10-30 Performance : Removed unnecessary memory allocs when calculating CRC32
June 2016
2016-06-26 Performance : Faster destroying of audiences
2016-06-19 Performance : Minor performance tuning
2016-06-18 Performance : Rule dependency tracking
2016-06-05 libgui | Performance : Various optimizations
November 2014
2014-11-02 Performance : Avoid unnecessary mutex locking

↑ Back to top

  Tests (11) — libcore

August 2018
2018-08-03 Tests : Extract host name from URI
June 2018
2018-06-23 Cleanup | Tests : Event loop return code; cleanup
2018-06-23 Added | Tests : Added ThreadLocal, EventLoop, Timer, CallbackTimer
2018-06-17 CMake | Tests : Build configuration improvements
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-15 Tests : Fixes and improvements to string manipulation
2018-06-14 Tests : Revised StringPool with case-insensitive comparators
2018-06-13 Added | Fixed | Tests : Fixed bugs, added missing operators
2018-06-11 Cleanup | Tests : Cleanup, fixes, and improvements
November 2016
2016-11-07 Tests : Testing the Record-to-JSON conversion

↑ Back to top

  App (10) — libcore

July 2019
2019-07-05 App : Clear garbage in App destructor
July 2018
2018-07-27 App : Compose application ID using reverse domain notation
March 2017
2017-03-04 App | Web : Convenient method for getting the web API URL
February 2017
2017-02-19 App | Fixed : Initializing an empty “persist.pack”
January 2016
2016-01-24 App | Loop : Improvements
May 2015
2015-05-24 Added | App : Added -libdir option and a fallback for the Unix plugin dir
February 2015
2015-02-17 App | OS X : Built-in basedir for command line apps
October 2014
2014-10-27 App : Accessing persistent data in read-only or mutable mode
August 2014
2014-08-14 Added | App : Added utility for finding files from loaded packages
June 2014
2014-06-11 App | Config : Allow running without /modules, config script

↑ Back to top

  Client (9) — libcore

August 2017
2017-08-26 Client : Avoid a crash during shutdown
June 2017
2017-06-19 Client | Fixed | libappfw : More graceful fatal errors
December 2016
2016-12-27 Client | Server : Rewrite “persist.pack” periodically (if changed)
November 2016
2016-11-12 Added | Client | Server : Added ‘Config.apiUrl’; use new web API for master server
June 2016
2016-06-30 Client | Fixed : Connecting to an IPv6 address
2016-06-05 Client | Refactor : Improved Version class API
March 2016
2016-03-04 Client | Profiles | Refactor : ConfigProfiles uses de::Profiles for serialization
June 2015
2015-06-02 Added | Client : Added Git information to About dialog and version info
July 2014
2014-07-03 Client | Resources : Renamed built-in packages hierarchically

↑ Back to top

  libgui (9) — libcore

January 2021
2021-01-13 libgui | Linux : Library install directory
June 2016
2016-06-05 libgui | Performance : Various optimizations
March 2016
2016-03-12 libgui | ScriptedInfo : Inheritance considered when looking up relative paths
2016-03-12 libgui | ScriptedInfo : Inheritance considered when looking up relative paths
May 2015
2015-05-06 Fixed | libgui : Use Qt serialization format 4.8
2015-05-06 Fixed | libgui : Use Qt serialization format 4.8
August 2014
2014-08-14 libgui | qmake : Building and deploying packages
2014-08-14 Added | libgui : Added more Core.String bindings, gui.dpiScaledImagePath()
May 2014
2014-05-16 libgui | Log : Set names for individual bank classes

↑ Back to top

  Log (9) — libcore

June 2019
2019-06-15 Log : Remove unnecessary atexit call
July 2016
2016-07-02 Log : Tweaked text styling of error messages and file descriptions
2016-07-01 Log : Build number is not needed in every log entry
June 2016
2016-06-12 Fixed | Log : Log output file is prematurely closed
December 2015
2015-12-19 libappfw | Log : New formatting for entry section metadata
2015-12-18 Log : Improved monospaced log entry formatting
November 2015
2015-11-26 Doom | Log : Interactive script output bypasses filtering
November 2014
2014-11-02 Log : Multithreading robustness
May 2014
2014-05-16 libgui | Log : Set names for individual bank classes

↑ Back to top

  Math (9) — libcore

December 2019
2019-12-27 Added | Math : Added a Slope utility
2019-12-12 Added | Math : Added 2D cross product
November 2018
2018-11-07 Math : Better random number generator
August 2018
2018-08-20 Math : Rounding correctness
February 2018
2018-02-09 Added | Math : Added math functions: mod(), Vector2::cross()
November 2016
2016-11-07 Math : Very minor optimization for vector element access
January 2016
2016-01-13 Added | Math : Added a function for calculating CRC32
December 2015
2015-12-26 Math : de::wrap asserts that the range is valid
August 2014
2014-08-03 Math : Random numbers

↑ Back to top

  Network (9) — libcore

September 2019
2019-09-05 Network : Network address handling improvements
August 2018
2018-08-05 FS | Network : Updated remote file system classes
July 2018
2018-07-30 Added | Network : Added WebRequest for HTTP GET/POST requests
2018-07-18 Network : Querying the local network interface address
2018-07-13 Network : Use iDatagram for UDP sockets in de::Beacon
October 2017
2017-10-15 Network : More detailed network traffic statistics
2017-10-14 Network : Socket notifies when everything has been written
February 2017
2017-02-02 Network | Performance : Keep local IP addresses cached
November 2016
2016-11-08 Data | Network : Compressed network discovery beacon payloads

↑ Back to top

  Windows (8) — libcore

December 2019
2019-12-28 Windows : Missing export
December 2018
2018-12-18 Added | Windows : Added missing link library
2018-12-18 Windows : Adapting code for MSVC
October 2017
2017-10-31 Added | Windows : Added a missing export
January 2017
2017-01-21 FS | Windows : Show full native paths
June 2016
2016-06-26 Fixed | Windows : Build failure (missing header)
June 2014
2014-06-09 Added | Fixed | Windows : Noise from Windows system headers, added missing exports
2014-06-02 Doom | Fixed | liblegacy | Windows : File path encoding issues

↑ Back to top

  Documentation (7) — libcore

October 2017
2017-10-01 Added | Documentation : Added a method description
November 2015
2015-11-10 Documentation : Design considerations of de::BitField
October 2015
2015-10-17 Documentation : FileSystem API doc clarifications
March 2015
2015-03-02 Added | Documentation | Doxygen : Added missing argument
November 2014
2014-11-30 Added | Documentation | String : Added comment about default codec
October 2014
2014-10-20 Documentation : Elaborated on TaskPool's "done" status
June 2014
2014-06-08 Documentation : Container iteration macros

↑ Back to top

  Optimize (7) — libcore

February 2017
2017-02-26 Optimize : Faster time tracking; keep one time for each loop iteration
2017-02-26 Animation | Optimize : Faster animation time checking
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 Optimize | Widgets : Use PointerSet for rule dependency tracking
2017-02-11 Optimize : Avoid large observer audiences
June 2016
2016-06-04 Optimize : Faster high-performance timing

↑ Back to top

  Time (7) — libcore

August 2019
2019-08-23 Added | Time : Added literal suffixes for time
June 2018
2018-06-23 Time : Disallow TimeSpan construction from an integer
February 2017
2017-02-07 Time : Inlined TimeDelta math
September 2016
2016-09-06 Added | Time : Added conversion from TimeDelta to microseconds
June 2016
2016-06-05 Fixed | Time : Converting a high-performance time to a full timestamp
May 2015
2015-05-06 Fixed | Time : Missing conversion of Time to text
2015-05-06 Fixed | Time : Missing conversion of Time to text

↑ Back to top

  Vector (7) — libcore

December 2019
2019-12-29 Vector : Vector typedefs
February 2018
2018-02-17 Added | Vector : Added a method for calculating area
June 2016
2016-06-16 Vector : Method for selecting xyz components out of a Vector4
November 2015
2015-11-10 Vector : Accessing Vector data as an array
August 2014
2014-08-21 Vector : Generic component swizzling
2014-08-12 Vector : Decomposing a Vector3 into an array
2014-08-06 Vector : Decomposing a Vector4 into an array

↑ Back to top

  Bank (6) — libcore

August 2017
2017-08-26 Bank : Avoid hanging when accessing bank contents
October 2015
2015-10-24 Bank : Improved log output from Bank
2015-10-17 Bank : Allow changing the default path separator character
August 2014
2014-08-16 Bank | InfoBank : Multiple source files combined to a single namespace
2014-08-15 Bank : Use the class name when throwing exceptions
2014-08-09 Added | Bank : Added new priority level, isLoaded() method, iterate()

↑ Back to top

  Debug (6) — libcore

May 2019
2019-05-19 Debug : Stopping an event loop
July 2018
2018-07-19 Debug | StringPool : Use C++ for printing debug output
June 2018
2018-06-26 Debug | Fixed : Fixed timeout on Waitable; flush debug output immediately
June 2016
2016-06-24 Debug | FS : More verbose file source description
September 2015
2015-09-19 Debug | Unix : Keeping track of where Counted objects are created
November 2014
2014-11-02 Debug | Unix : Macro to generate backtrace as a string

↑ Back to top

  Doom (6) — libcore

January 2017
2017-01-06 Doom : Copying profiles and game profiles
November 2016
2016-11-01 Doom | Performance | Refactor : More efficient sprite definitions
July 2016
2016-07-02 Doom : Package tags should be unique
March 2016
2016-03-27 Doom : Constructing profile duplicates
November 2015
2015-11-26 Doom | Log : Interactive script output bypasses filtering
June 2014
2014-06-02 Doom | Fixed | liblegacy | Windows : File path encoding issues

↑ Back to top

  ScriptedInfo (6) — libcore

March 2016
2016-03-12 libgui | ScriptedInfo : Inheritance considered when looking up relative paths
2016-03-12 libgui | ScriptedInfo : Inheritance considered when looking up relative paths
August 2015
2015-08-16 ScriptedInfo | Scripting : Processing attributes of script blocks
August 2014
2014-08-16 ScriptedInfo : Observing newly parsed block records
2014-08-04 ScriptedInfo : Utility method for listing typed subrecords
2014-08-04 ScriptedInfo : Utility method for listing typed subrecords

↑ Back to top

  Animation (5) — libcore

September 2018
2018-09-25 Added | Animation : Added a softer ease-out animation style
February 2017
2017-02-26 Animation | Optimize : Faster animation time checking
April 2016
2016-04-22 Animation | Widgets : Improved animated layout rules
February 2015
2015-02-12 Animation | Fixed : Potential crash during animation
October 2014
2014-10-20 Animation | Fixed : Updating current time

↑ Back to top

  Package (5) — libcore

January 2016
2016-01-17 Package | Refactor : Initializing package metadata record
October 2015
2015-10-15 Package : Log entry formatting
July 2015
2015-07-07 Fixed | Package : Absolute paths in package's import path
August 2014
2014-08-25 Package : Package info file can also be named "Info.dei"
July 2014
2014-07-17 Package : Print package metadata as a dev log message

↑ Back to top

  PackageLoader (5) — libcore

April 2016
2016-04-03 PackageLoader : Load required packages automatically
March 2016
2016-03-14 PackageLoader : Use a hash for loaded packages
January 2016
2016-01-17 PackageLoader : Allow LinkFiles to be loaded as packages
October 2015
2015-10-26 PackageLoader : Log syntax errors in package metadata
August 2015
2015-08-18 PackageLoader : Finding all files that appear to be packages

↑ Back to top

  Socket (5) — libcore

September 2019
2019-09-10 Socket : Cancel notifications when socket deleted
August 2019
2019-08-23 Socket : Use thread pool for compressed messages
October 2017
2017-10-17 Socket : Always prefer speed when compressing payloads
2017-10-14 Socket : Asynchronous sending is disabled by default
2017-10-14 Socket : Use a background thread to compress large messages

↑ Back to top

  libappfw (4) — libcore

June 2017
2017-06-19 Client | Fixed | libappfw : More graceful fatal errors
August 2016
2016-08-01 libappfw | Widgets : Basic navigation with arrow keys
June 2016
2016-06-27 Cleanup | Fixed | libappfw : Observers concurrency and cleanup
December 2015
2015-12-19 libappfw | Log : New formatting for entry section metadata

↑ Back to top

  Matrix (4) — libcore

March 2018
2018-03-25 Matrix : Calculating matrix inverse
February 2018
2018-02-19 Matrix : Creating a 3x3 matrix from a 4x4 matrix
July 2015
2015-07-21 Matrix : Mirroring a frame matrix
August 2014
2014-08-09 Added | Matrix : Added Matrix4::frame()

↑ Back to top

  NumberValue (4) — libcore

July 2016
2016-07-28 NumberValue : Undefine conflicting True/False defines
January 2016
2016-01-17 Fixed | NumberValue : Showing a large integer as hexadecimal
May 2014
2014-05-31 NumberValue : Include the "Hex" semantic flag in serialization
2014-05-30 Added | NumberValue : Added a semantic hint for hexadecimal values

↑ Back to top

  Path (4) — libcore

August 2019
2019-08-27 Cleanup | Path : More efficient sub-path method; some cleanup
May 2018
2018-05-16 Added | Path : Added path splitting utilities; various other cleanups
February 2017
2017-02-14 Added | NativePath | Path : Added move constructors
June 2016
2016-06-27 Path : Path segment hashing uses CRC-32

↑ Back to top

  Unix (4) — libcore

April 2017
2017-04-12 Unix : DENG_BASE_DIR and DENG_LIBRARY_DIR may be relative paths
March 2017
2017-03-16 Unix : Set preferred locale for number formatting earlier
September 2015
2015-09-19 Debug | Unix : Keeping track of where Counted objects are created
November 2014
2014-11-02 Debug | Unix : Macro to generate backtrace as a string

↑ Back to top

  Block (3) — libcore

June 2018
2018-06-26 Block | Fixed : Fixed initialization (missing null-termination)
2018-06-24 Block : std::hash function for Block
May 2018
2018-05-12 Block : Mapping data buffer contents using a values palette

↑ Back to top

  Config (3) — libcore

September 2015
2015-09-17 Config : Doomsday Script import override paths
October 2014
2014-10-27 Config : Check config script's package's timestamp
June 2014
2014-06-11 App | Config : Allow running without /modules, config script

↑ Back to top

  CString (3) — libcore

August 2019
2019-08-27 CString : More efficient end-of-string pointer access
June 2019
2019-06-27 CString | Fixed : Getting a substring
June 2018
2018-06-25 Added | CString : Iterating using mb_iterator; added more methods

↑ Back to top

  File (3) — libcore

February 2021
2021-02-15 File | Fixed : Incorrect text output formatting
April 2016
2016-04-13 File : Getting a file description with specific verbosity
January 2016
2016-01-17 File : Simpler file descriptions in non-debug builds

↑ Back to top

  libcommon (3) — libcore

August 2014
2014-08-04 libcommon | Refactor : Removed use of auto_ptr
2014-08-04 libcommon | Refactor : Removed use of auto_ptr
May 2014
2014-05-13 Fixed | libcommon : File already exists when trying to save game

↑ Back to top

  Profiles (3) — libcore

March 2016
2016-03-27 Profiles : Renaming a profile without implicit add/remove
2016-03-09 Profiles : Audiences for profile addition/removal; profiles are deletable
2016-03-04 Client | Profiles | Refactor : ConfigProfiles uses de::Profiles for serialization

↑ Back to top

  Qt (3) — libcore

September 2016
2016-09-06 Qt : Check for Qt 5.7
June 2016
2016-06-26 Qt | Refactor : Compatibility with older Qt versions
November 2015
2015-11-22 Added | Qt : Added macros for checking Qt versions 5.4+

↑ Back to top

  Range (3) — libcore

September 2015
2015-09-24 Added | Range : Added a method for random number generation
August 2015
2015-08-18 Range : Constructing a Range from a Value
June 2014
2014-06-08 Range : Making a range with a start point and size

↑ Back to top

  RecordAccessor (3) — libcore

August 2014
2014-08-03 Added | RecordAccessor : Added a has() method
July 2014
2014-07-28 RecordAccessor : Utility method for accessing a subrecord
2014-07-28 RecordAccessor : Utility method for accessing a subrecord

↑ Back to top

  SavedSession (3) — libcore

November 2014
2014-11-26 SavedSession : Adjusted text styling of metadata
2014-11-26 SavedSession : Record's text formatting expects monospaced fonts
July 2014
2014-07-25 SavedSession : SavedSession::metadata now records the current episode

↑ Back to top

  ScriptSystem (3) — libcore

February 2015
2015-02-22 Fixed | ScriptSystem : Possible crash when importing modules
2015-02-22 Fixed | ScriptSystem : Possible crash when importing modules
May 2014
2014-05-18 ScriptSystem : Removing native modules

↑ Back to top

  TaskPool (3) — libcore

October 2014
2014-10-22 Fixed | TaskPool : Completing a pool while it is being destroyed
2014-10-21 TaskPool : Redesigned shutdown procedure
June 2014
2014-06-09 TaskPool : Ensure pool is not deleted when the last task finishes

↑ Back to top

  Address (2) — libcore

September 2019
2019-09-11 Address : Improvements
August 2019
2019-08-21 Address : Defer address lookups until needed

↑ Back to top

  CommandLine (2) — libcore

March 2017
2017-03-14 CommandLine | Fixed : “-v” command line option counted twice
November 2016
2016-11-12 CommandLine : Starting a process and keeping a reference to it

↑ Back to top

  Concurrency (2) — libcore

August 2019
2019-08-23 Concurrency : Async work using TaskPool
2019-08-23 Concurrency : Smaller thread pool

↑ Back to top

  Data (2) — libcore

February 2017
2017-02-14 Data : Adjustable zlib compression level
November 2016
2016-11-08 Data | Network : Compressed network discovery beacon payloads

↑ Back to top

  EventLoop (2) — libcore

July 2019
2019-07-04 EventLoop : Event loop callback utility
July 2018
2018-07-17 EventLoop : API usability improvement

↑ Back to top

  Garbage (2) — libcore

January 2016
2016-01-20 Garbage : Avoid crash at shutdown
August 2015
2015-08-24 Garbage : C++ helper for putting objects in the trash

↑ Back to top

  InfoBank (2) — libcore

December 2015
2015-12-18 InfoBank : Removing items based on where they are from
August 2014
2014-08-16 Bank | InfoBank : Multiple source files combined to a single namespace

↑ Back to top

  JSON (2) — libcore

August 2018
2018-08-04 JSON : Parsing JSON to a Doomsday Script value
January 2015
2015-01-06 Fixed | JSON : Error when parsing whitespace in JSON

↑ Back to top

  Lockable (2) — libcore

October 2014
2014-10-22 Fixed | Lockable : Issue with the mutex lock counter
2014-10-21 Lockable : Check that mutexes are unlocked before destruction

↑ Back to top

  Model Renderer (2) — libcore

June 2017
2017-06-18 Model Renderer | Scripting : Script callbacks for model state change
November 2015
2015-11-23 Added | Model Renderer : Added `worldOffset` for model assets

↑ Back to top

  OS X (2) — libcore

February 2015
2015-02-18 OS X : Detect .bundle format plugins
2015-02-17 App | OS X : Built-in basedir for command line apps

↑ Back to top

  Server (2) — libcore

December 2016
2016-12-27 Client | Server : Rewrite “persist.pack” periodically (if changed)
November 2016
2016-11-12 Added | Client | Server : Added ‘Config.apiUrl’; use new web API for master server

↑ Back to top

  StringPool (2) — libcore

July 2018
2018-07-19 Debug | StringPool : Use C++ for printing debug output
August 2015
2015-08-05 Refactor | StringPool : Use C++11 for iterating interned strings in StringPool

↑ Back to top

  Timer (2) — libcore

July 2018
2018-07-17 Timer : Avoid repeating Timer triggering
June 2018
2018-06-23 Cleanup | Timer : Cleanup

↑ Back to top

  TokenBuffer (2) — libcore

November 2014
2014-11-09 String | TokenBuffer : Case sensitive copy-free string equality method
2014-11-08 TokenBuffer : Checking for token equality

↑ Back to top

  Variable (2) — libcore

August 2014
2014-08-16 Added | Variable : Added an automatic cast to non-const Record
July 2014
2014-07-31 Fixed | Variable : Notification about value changes

↑ Back to top

  Writer (2) — libcore

December 2016
2016-12-05 Writer : Utility for writing variable-length data sequences
March 2016
2016-03-20 Added | Writer : Added method for writing text

↑ Back to top

  Amethyst (1) — libcore

January 2017
2017-01-26 Amethyst | Cleanup : Deprecated QChar behavior

↑ Back to top

  ArrayExpression (1) — libcore

October 2014
2014-10-30 ArrayExpression | Fixed : Memory leak

↑ Back to top

  ArrayValue (1) — libcore

May 2014
2014-05-18 ArrayValue | Cleanup : Cleanup in printing records

↑ Back to top

  Async (1) — libcore

May 2019
2019-05-19 Async : Cleaning up completed tasks

↑ Back to top

  BinaryTree (1) — libcore

May 2014
2014-05-07 Added | BinaryTree : Added subtree type counting and summary methods to BinaryTree

↑ Back to top

  ByteRefArray (1) — libcore

November 2015
2015-11-10 ByteRefArray : Template for casting the array pointer

↑ Back to top

  CMake (1) — libcore

June 2018
2018-06-17 CMake | Tests : Build configuration improvements

↑ Back to top

  Date (1) — libcore

February 2016
2016-02-01 Date : Parsing from text

↑ Back to top

  DictionaryValue (1) — libcore

May 2014
2014-05-18 DictionaryValue : Removing values by key

↑ Back to top

  Doxygen (1) — libcore

March 2015
2015-03-02 Added | Documentation | Doxygen : Added missing argument

↑ Back to top

  FileIndex (1) — libcore

January 2016
2016-01-17 FileIndex : Cannot look for files inside single-file packages

↑ Back to top

  Function (1) — libcore

August 2015
2015-08-17 Function : Default argument values for function binding macro

↑ Back to top

  Git (1) — libcore

June 2015
2015-06-04 Git : Use all tags for describing the git revision

↑ Back to top

  Legacy (1) — libcore

August 2021
2021-08-07 Fixed | Legacy | MSYS : Fixed warnings about char subscripts

↑ Back to top

  liblegacy (1) — libcore

June 2014
2014-06-02 Doom | Fixed | liblegacy | Windows : File path encoding issues

↑ Back to top

  libshell (1) — libcore

November 2016
2016-11-08 Cleanup | libshell : Show local addresses always as "localhost"

↑ Back to top

  Linux (1) — libcore

January 2021
2021-01-13 libgui | Linux : Library install directory

↑ Back to top

  LogBuffer (1) — libcore

June 2018
2018-06-23 LogBuffer : Defer creation of the autoflush timer

↑ Back to top

  Loop (1) — libcore

January 2016
2016-01-24 App | Loop : Improvements

↑ Back to top

  MSVC (1) — libcore

March 2016
2016-03-08 Fixed | MSVC : Missing include

↑ Back to top

  MSYS (1) — libcore

August 2021
2021-08-07 Fixed | Legacy | MSYS : Fixed warnings about char subscripts

↑ Back to top

  NativeFile (1) — libcore

July 2021
2021-07-29 NativeFile : Improving file handle management

↑ Back to top

  NativePath (1) — libcore

February 2017
2017-02-14 Added | NativePath | Path : Added move constructors

↑ Back to top

  Observers (1) — libcore

May 2014
2014-05-18 Observers : Querying if an observer is part of the audience

↑ Back to top

  PackageFeed (1) — libcore

July 2014
2014-07-03 PackageFeed : Links to loaded packages use the package identifier

↑ Back to top

  Packages (1) — libcore

January 2016
2016-01-24 FS | Packages : Looking up files that contain packages

↑ Back to top

  PathTreeT (1) — libcore

June 2014
2014-06-30 Added | PathTreeT : Added tryFind() specializations to PathTreeT

↑ Back to top

  qmake (1) — libcore

August 2014
2014-08-14 libgui | qmake : Building and deploying packages

↑ Back to top

  Reader (1) — libcore

December 2016
2016-12-07 Reader : Reading serialized objects with a constructor callback

↑ Back to top

  Resources (1) — libcore

July 2014
2014-07-03 Client | Resources : Renamed built-in packages hierarchically

↑ Back to top

  RuleRectangle (1) — libcore

October 2014
2014-10-29 Added | RuleRectangle : Added convenience method for defining mid X/Y rules

↑ Back to top

  Script (1) — libcore

November 2014
2014-11-08 Refactor | Script : Apply PIMPL in the Script class

↑ Back to top

  ScriptLex (1) — libcore

June 2018
2018-06-27 Added | ScriptLex | String : Added a few missing methods

↑ Back to top

  ServerFinder (1) — libcore

September 2019
2019-09-12 Cleanup | ServerFinder : Cleanup

↑ Back to top

  Version (1) — libcore

January 2016
2016-01-17 Added | Version : Added support for a version label string (x.y.z-label)

↑ Back to top

  Web (1) — libcore

March 2017
2017-03-04 App | Web : Convenient method for getting the web API URL

↑ Back to top

  Widget (1) — libcore

November 2014
2014-11-01 Widget : Setting a widget's root manually

↑ Back to top

  Xcode (1) — libcore

October 2014
2014-10-12 Fixed | Xcode : Fixed a bunch of benign integer conversion warnings

↑ Back to top

  ZipArchive (1) — libcore

August 2018
2018-08-30 ZipArchive : Assume ZIP archive times are in UTC

↑ Back to top