LibOFX is 15 years old this year. It's become a slow changing, obscure but important part of free software accounting packages, and is included in every major Linux distribution.
In an effort to reduce friction for developers to contribute, I am moving the main git repository to github at https://github.com/libofx/libofx
I won't close the SF ticket tracker just yet, but I strongly encourage everyone to open github issues instead.
2013-03-30, LibOFX 0.9.6:
- Extend buffer for TRANSACTION_NAME to 96 bytes due to UTF-8
multibyte characters.
- Patch by Geert Janssens to fix typo in info message
- Patch by Geert Janssens to allow lines longer than 1024
caracters
- Fix treatment of empty date strings: Must return a zero date
instead of a bogus one.
- Replace unlink() with remove() to fix compile problems with
gcc 4.7... [read more](/p/libofx/news/2013/03/libofx-096-released/)
Changes:
Benoit Grégoire <benoitg@coeus.ca>
- Workaround OFX files specifying invalid encoding values (specifically: UNICODE and CP1252). This should fix most encoding problems reported.
- Look for DTD in source directory (simplifies developpement)
Christian Stimming <christian@cstimming.de>
- Add minor argument checking
- Expose field: OfxSecurityData::fiid in API
- Make string arguments a const reference where appropriate
- Add configure check for help2man tool... read more
LibOFX 0.9.3:
- Fix segfault on some files containing missing closing tags (bug #2969817)
- Note to packagers: Upstram has moved to git at git://libofx.git.sourceforge.net/gitroot/libofx/libofx
LibOFX 0.9.2:
- Win32: Add gnucash patch that looks up the dtd installation directory from the current executable's location.
- Apply patch by Geert Janssens to fix a crash on invalid date format
- Apply patch by ajseward with some additional fixes to allow wraping the library in python.
- Apply patch by Thomas Baumgart which fixes bug #5 (Transaction posting date off by one)
- Apply patch by Bill Nottingham <notting@redhat.com> with various C++ include fixes for building with recent compilers. ... read more
This release now exports version information thus allowing depending applications to determine the version of LibOFX is is compiled against.
Some fields have been added to OfxFiLogin to allow for modification of some OFX header fields in outgoing requests. Together with the latest AqBanking3 this should fix the problem with servers suddenly rejecting connections from LibOFX applications.
The calling application can now tell libofx where the data files reside. This allows for relocatable binaries (most importantly on Windows).
Some warnings from recent versions of GCC have been fixed.
LibOFX can now easily be cross-compiled for Windows on Linux.
The OFX header is now scanned for a hint regarding the encoding of the document and convert the data to UTF8 if iconv is available at compile time.
The API for online requests has been cleaned up.
- bug fixes for GCC4.x and 64-bit compatibility
- fix to enable OFXDirectConnect in Aqbanking
- improvements to ofxpartner functionality
- minor build system modifications
- new fields for fees, commissions and stock split data
- fix a memory leak and a potential crashing bug
Additional fixes to OFC support unfortunately didn't make it into this release. However, it contains no known new bug.
- New DirectConnect API for statement downloads, thanks to Ace Jones and Martin Preuss
- Added ofxconnect sample app to demonstrate & test new API's (try "make check" in the ofxconnect folder). Read README.privateserver first.
- Apply Christian Stimming's patch for rpm building. Also adds a make rpm target.
Interim API change stable release. New callback architecture, global context and other changes. Data elements remain read-only and the same as the 0.6 series.
- Fix compile with gcc 3.4. This also needs to be applied to the stable branch.
- Now uses a proper callback architecture (many thanks to Martin Preuss and Ryan P Bobko who contributed to it).
- Now uses gengetopt. You can now set the desired debug output from the command line without recompiling. Check ofxdump --help.
- File formet autodetection.
- Working (but incomplete) Open Financial Connectivity (OFC) support.
- Add file format autodetection architecture, can currently distinguish between OFX and OFC files.
-Important code cleanup in the parsing code. The parser should be much more independent of OpenSP default settings. Should get rid of "end tag for "MEMO" omitted, but OMITTAG NO was specified" type messages and many other parser failures.
-The very old OpenSP 1.3.1 will probably no longuer work.
-Fix an infinite loop in some circumstances while the library was searching for a parent statement for a transaction. Would mostly manifest on complex investments transactions. Thanks to stephen.a.prior A T ntlworld.ie for the catch.
-Implement displaying file line numbers in the error output. Note that data won't be valid if the message occurs before the file is opened.
Minor bugfix release, probably the last in the 0.x series.
Release notes:
-Fix for really broken files that do not have a newline after the ofx header (bug #721732)
-Add #include to fix compile error on freebsd and possibly all gcc2 based distro.
-Change date handling to fix problems with the majority of banks diverging from the specs. Should fix problems with the day being off by one for some countries. (bug #778615)
A minor problem has surfaced with the release of libofx 0.6.4. For many users (possibly all gcc 2 users), compilation will fail with "ofx_utilities.cpp:151: implicit declaration of function `int
localeconv(...)".
The fix (already in CVS) is to add a line "#include <locale.h>" (without quotes) to the top of ofx_utilities.cpp in the lib directory.
-Fixes a critical bug that caused the decimals to be ignored in some locale. For example, importing in gnucash with a locale of fr_FR caused an amount of 19,95 to be imported as 19,00.
A long overdue maintenance release. Highlights are
-Fix incompatibilities with big endian machines
-Fix compilation on sun
-Fix error in the DTD that caused "content model is ambiguous" errors
-Fix ofx2qif crash
-ofxdump can now report the library version number.
Hello everyone. I've been quite busy with the GnuCash 1.8 release. I am still very busy with real life, but I plan to turn more of my attention back to LibOfx for the next few months. So here is an idea of the roadmap of what is comming.
First there will be a 0.6.3 maintenance release in the next few weeks, with big endian machine support and library version output for ofxdump, so that configure script's can require a specefic libofx. This is already in CVS, it just need a little testing and packaging. ... read more
LibOFX 0.6.2:
-Hopefully fix incompatibilities with BOTH OpenSP 1.3.x and OpenSP >= 1.4
-Building as rpm is now available, thanks to Chris Lyttle.
-Doxygen API and internal doc now integrated in the build system. It will be distributed and install with the tarballs, and can be build in libofx-cvs using make doc.
- rpm's available
It seems I owe everyone an apology. Apparently I was too quick in accusing the new Mandrake openjade package to be responsable for newfound incompatibilitys with LibOFX 0.6.1. For now, I advise all users to do the following:
OpenSP 1.3.4 users (distributed with openjade 1.3.1): Use LibOFX 0.6.0
OpenSP >= 1.4 users: Use LibOFX 0.6.1
The functionnality of both versions is identical. I am working on resolving this as fast as I can.
A critical bug has been found in LibOFX 0.6.0 released yesterday. Parsing of a file would fail and hang for users of OpenSP 1.5pre5 (and possibly others). All users should upgrade to 0.6.1
A new tarball has been released to match the new gnucash 1.7.3 released today: http://www.gnucash.org/ There is is now extensive ofx investment download support. This is also the first official release of libofx to use a full autoconf build infrastructure. Please send mail to bock@step.polymtl.ca if it doesn't work for you. IMPORTANT NOTE: make uninstall your previous libofx version BEFORE you install this one. Many files changed name or location with the new build system, and installing over a previous version (0.5 and less) is likely to cause a horrible mess.